转载请注明出处:
目录
1.sadd 集合添加元素
2.srem移除元素
3.smembers 获取key的所有元素
4.scard 获取key的个数
5.sismember 判断member元素是否存在集合key中
6.srandmember key count 从集合key中随机选出count个元素,元素不从key中删除
7.spop 从集合key中随机选出count个元素,元素从key中删除
8.sinter 交集运算
9.sinterstore 将交集的结果存入到新集合destination中
10.sunion 并集运算
11.sunionstore 将并集结果存入新集合destionation中
12.sdiff 差集运算
13.sdiffstore 将差集结果存入新的集合
sadd key value
添加元素示例:
127.0.0.1:6379> sadd action:10001 101 102 103 104 (integer) 4 127.0.0.1:6379> smembers action:10001 1) "101" 2) "102" 3) "103" 4) "104" 127.0.0.1:6379>
srem key member
示例
127.0.0.1:6379> srem action:10001 101 (integer) 1 127.0.0.1:6379> srem action:10001 106 (integer) 0 127.0.0.1:6379>
元素存在移除成功返回1,不存在移除返回0
smembers key
示例:
127.0.0.1:6379> smembers action:10001 1) "101" 2) "102" 3) "103" 4) "104"
scard key
示例:
127.0.0.1:6379> scard action:10001
(integer) 4
127.0.0.1:6379>
应用场景:多少人点赞,多少人评论,以及多少人关注等
sismember key member
示例
127.0.0.1:6379> sismember action:10001 102 (integer) 1 127.0.0.1:6379> sismember action:10001 109 (integer) 0 127.0.0.1:6379>
应用场景:检查用户是否点过赞或访问过
srandmember key count
示例
127.0.0.1:6379> srandmember action:10001 1 1) "104" 127.0.0.1:6379> srandmember action:10001 2 1) "104" 2) "103" 127.0.0.1:6379>
应用场景:随机抽取,并不从集合中移除随机抽取出的元素
spop key count
示例
127.0.0.1:6379> spop action:10001 1 1) "103" 127.0.0.1:6379>
sinter key [key...]
示例:
127.0.0.1:6379> smembers action:10001 1) "101" 2) "102" 3) "104" 127.0.0.1:6379> smembers action:10002 1) "102" 2) "104" 3) "106" 4) "108" 127.0.0.1:6379> sinter action:10001 action:10002 1) "102" 2) "104" 127.0.0.1:6379>
应用场景:共同的好友,爱好等
sinterstore destination key [key....]
示例
127.0.0.1:6379> sinterstore common:action:10001 action:10001 action:10002 (integer) 2 127.0.0.1:6379> smembers common:action:10001 1) "102" 2) "104" 127.0.0.1:6379>
应用场景:共同的好友,爱好等
sunion key [key ....]
示例
127.0.0.1:6379> sunion action:10001 action:10002 1) "101" 2) "102" 3) "104" 4) "106" 5) "108" 127.0.0.1:6379>
应用场景:获取集合间的所有元素
sunionstore destionation key [key.....]
示例
127.0.0.1:6379> sunionstore all:action:10001 action:10001 action:10002 (integer) 5 127.0.0.1:6379> smembers all:action:10001 1) "101" 2) "102" 3) "104" 4) "106" 5) "108" 127.0.0.1:6379>
应用场景:获取集合间的所有元素到新的集合
sdiff key [key....]
差集比较的是 前面第一个key中的元素在后面集合元素中比较,后面集合中包含key的元素
示例
127.0.0.1:6379> smembers action:10001 1) "101" 2) "102" 3) "104" 127.0.0.1:6379> smembers action:10002 1) "102" 2) "104" 3) "106" 4) "108" 127.0.0.1:6379> sdiff action:10001 action:10002 1) "101" 127.0.0.1:6379>
应用场景:可能认识的人
sdiffstore destination key [key...]
示例
127.0.0.1:6379> sdiffstore diff:action:10001 action:10001 action:10002 (integer) 1 127.0.0.1:6379> smembers diff:action:10001 1) "101" 127.0.0.1:6379>