Redis set数据类型命令使用及应用场景使用总结
转载请注明出处:
目录
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>