日期:2014-05-16 浏览次数:20536 次
redis set 是string类型对象的无序集合,set不管存储多少对象,对存储对象的add,remove和test操作的时间复杂度是O(1)。set最多能包含 232 - 1 个member。
1、增加
语法:sadd key member[member...]
解释:对特定key的set增加一个或多个值,返回是增加元素的个数。注意:对同一个member多次add,set中只会保留一份。
[root@xsf001 ~]# redis-cli redis 127.0.0.1:6379> sadd stu zhangsan lisi wangwu #新增 (integer) 3 redis 127.0.0.1:6379> smembers stu #得到set的所有member 1) "wangwu" 2) "lisi" 3) "zhangsan" redis 127.0.0.1:6379> sadd stu zhangsan #增加存在的member (integer) 0 redis 127.0.0.1:6379> smembers stu 1) "wangwu" 2) "lisi" 3) "zhangsan" redis 127.0.0.1:6379> sadd tech wangwu liming joe (integer) 3 redis 127.0.0.1:6379> sadd tech jim (integer) 1 redis 127.0.0.1:6379> smembers tech 1) "jim" 2) "liming" 3) "wangwu" 4) "joe"
2、查询
a)smembers
语法:smembers key
解释:获取set中的所有member
redis 127.0.0.1:6379> smembers stu 1) "wangwu" 2) "lisi" 3) "zhangsan" redis 127.0.0.1:6379> smembers tech 1) "jim" 2) "liming" 3) "wangwu" 4) "joe"
语法:sismember key member
解释:判断值是否是set的member。如果值是set的member返回1,否则,返回0
redis 127.0.0.1:6379> sismember tech jim #jim 是set的member (integer) 1 redis 127.0.0.1:6379> sismember tech jim001 #jim001 不是set的member (integer) 0c)scard
语法:scard key
解释:返回set的member个数,如果set不存在,返回0
redis 127.0.0.1:6379> scard tech # tech 存在 (integer) 4 redis 127.0.0.1:6379> scard stud #stud 不存在 (integer) 0 redis 127.0.0.1:6379> scard stu (integer) 4d)srandmember
语法:srandmember key
解释:从set中返回一个随机member
redis 127.0.0.1:6379> srandmember stu &