redis set和zset

Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据

删除set : del key

添加元素: sadd

 

ZSet 是string类型元素的集合,有序集合的成员是唯一的,但分数(score)却可以重复,元素按照score递增排列

zadd key score member   如果有相同的member则覆盖原来member的值, 如: zadd dbset 9 sqlserver

 

zcard 返回zset 的大小,时间复杂度 O(1)

ZCount 返回有序集合中指定区间 "分数" 的成员数,如zcount dbset  -inf   +inf ,时间复杂度 logN

-inf   +inf用来表示分数

 

zrange  返回指定(位置顺序)区间内的成员,如果这个范围内有成员的score是一样的,返回顺序按照member key的字典顺序

时间复杂度 O(log(N)+M) 

zrange dbset  0  3  注意如果元素个数大于4, 这个里返回4个元素

下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。

你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推

注意这里不能使用 -inf +inf这样的范围

 

zrangebysocre 返回指定score范围的成员(分数)  O(log(N)+M)

zrangebyscore dbset 4 80 返回的是符合要求的member key

zrangebyscore dbset  -inf  +inf withscores 返回所有的member key和score

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章