127.0.0.1:6379> sadd myset 1 2 3 (integer) 3 127.0.0.1:6379> SMEMBERS myset 1) "1" 2) "2" 3) "3" 127.0.0.1:6379>
SADD命令产生一个无序集合,返回集合的元素个数。SMEMBER用于查看集合。
SISMEMBER用于查看集合是否存在,匹配项包括集合名和元素个数。匹配成功返回1,匹配失败返回0.
?
127.0.0.1:6379> SISMEMBER myset 3 (integer) 1 127.0.0.1:6379> SISMEMBER myset 30 (integer) 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
zset
有序集合
Redis有序集合与普通集合非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的没有成员都关联了一个评分,这个评分被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了。 使用有序集合你可以以非常快的速度(O(log(N)))添加,删除和更新元素。因为元素是有序的, 所以你也可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。在有序集合中,你可以很快捷的访问一切你需要的东西:有序的元素,快速的存在性测试,快速访问集合的中间元素! 简而言之使用有序集合你可以做完成许多对性能有极端要求的任务,而那些任务使用其他类型的数据库真的是很难完成的。
ZADD与SADD类似,但是在元素之前多了一个参数,这个参数便是用于排序的。形成一个有序的集合。
查看集合ZRANGE是查看正序的集合,ZREVRANGE是查看反序的集合。0表示集合第一个元素,-1表示集合的倒数第一个元素。
127.0.0.1:6379> zadd myzset 20 liubo (integer) 1 127.0.0.1:6379> zadd myzset 22 hello (integer) 1 127.0.0.1:6379> zadd myzset 20 nice (integer) 1 127.0.0.1:6379> zadd myzset 0.1 welcome (integer) 1 127.0.0.1:6379> ZRANGE myzset 0 -1 1) "welcome" 2) "liubo" 3) "nice" 4) "hello" 127.0.0.1:6379> ZREVRANGE myzset 0 -1 1) "hello" 2) "nice" 3) "liubo" 4) "welcome" 127.0.0.1:6379>
使用WITHSCORES 参数返回记录值。
127.0.0.1:6379> ZREVRANGE myzset 0 2 withscores //返回分数最高的前三名, 显示分数参数 1) "hello" 2) "22" 3) "nice" 4) "20" 5) "liubo" 6) "20" 127.0.0.1:6379>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
?