转载请注明出处:
目录
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 将差集结果存入新的集合1.sadd 集合添加元素
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>
2.srem移除元素
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
3.smembers 获取key的所有元素
smembers key
示例:
127.0.0.1:6379> smembers action:10001 1) "101" 2) "102" 3) "103" 4) "104"
4.scard 获取key的个数
scard key
示例:
127.0.0.1:6379> scard action:10001
(integer) 4
127.0.0.1:6379>
应用场景:多少人点赞,多少人评论,以及多少人关注等
5.sismember 判断member元素是否存在集合key中
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>
应用场景:检查用户是否点过赞或访问过
6.srandmember key count 从集合key中随机选出count个元素,元素不从key中删除
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>
应用场景:随机抽取,并不从集合中移除随机抽取出的元素
7.spop 从集合key中随机选出count个元素,元素从key中删除
spop key count
示例
127.0.0.1:6379> spop action:10001 1 1) "103" 127.0.0.1:6379>
应用场景: 活动抽奖,从参与活动的set集合中,随机抽取出一等奖,二等奖等; 游戏场景中 给用户分配分区
8.sinter 交集运算
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>
应用场景:共同的好友,爱好等
9.sinterstore 将交集的结果存入到新集合destination中
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>
应用场景:共同的好友,爱好等
10.sunion 并集运算
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>
应用场景:获取集合间的所有元素
11.sunionstore 将并集结果存入新集合destionation中
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>
应用场景:获取集合间的所有元素到新的集合
12.sdiff 差集运算
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>
应用场景:可能认识的人
13.sdiffstore 将差集结果存入新的集合
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>
应用场景:可能认识的人
标签:set,10001,0.1,数据类型,Redis,6379,127.0,key,action From: https://www.cnblogs.com/zjdxr-up/p/17018543.html