Redis Set集合类型

set是无序不重复集合。

set的命令都是“s”开头的

1.利用sadd 命令添加元素

127.0.0.1:6379> sadd myset hello
(integer) 1
127.0.0.1:6379> sadd myset ckfuture
(integer) 1
127.0.0.1:6379> sadd myset loveckfuture
(integer) 1

 

 2.利用 Smembers 命令查看元素

127.0.0.1:6379> smembers myset
1) "loveckfuture"
2) "ckfuture"
3) "hello"

 

 4.利用sismember命令判断某一个值是否在set集合中

127.0.0.1:6379> sismember myset hello
(integer) 1

 

 5.利用scard命令获取set集合中的内容元素个数

127.0.0.1:6379> scard myset
(integer) 3

 

 6.利用srem命令移除set集合中的指定元素

127.0.0.1:6379> srem myset hello
(integer) 1
127.0.0.1:6379> smembers myset
1) "loveckfuture"
2) "ckfuture"

 

 7.利用 srandmember命令随机抽取一个元素

127.0.0.1:6379> srandmember myset
"ckfuture"
127.0.0.1:6379> srandmember myset
"ckfuture"

 

 8.利用spop 命令删除指定的key,随机删除key

127.0.0.1:6379> smembers myset
1) "loveckfuture"
2) "ckfuture"
127.0.0.1:6379> spop myset
"loveckfuture"
127.0.0.1:6379> smembers myset
1) "ckfuture"
127.0.0.1:6379>  

 

 9.利用smove 命令将一个指定的值移动到另外一个结合中

复制代码
127.0.0.1:6379> smembers myset
1) "loveckfuture"
2) "ckfuture"
127.0.0.1:6379> smembers myset2
1) "set2"
127.0.0.1:6379> smove myset myset2 ckfuture
(integer) 1
127.0.0.1:6379> smembers myset
1) "loveckfuture"
127.0.0.1:6379> smembers myset2
1) "set2"
2) "ckfuture"
127.0.0.1:6379>   
复制代码

 

 10.数字集合类:

①差集:sdiff命令

复制代码
(integer) 1
127.0.0.1:6379> sadd key1 c
(integer) 1
127.0.0.1:6379> sadd key2 c
(integer) 1
127.0.0.1:6379> sadd key2 d
(integer) 1
127.0.0.1:6379> sadd key2 e
(integer) 1
127.0.0.1:6379> smembers key1
1) "b"
2) "a"
3) "c"
127.0.0.1:6379> smembers key2
1) "e"
2) "d"
3) "c"
127.0.0.1:6379> sdiff key1 key2
1) "a"
2) "b"
复制代码

②交集:sinter命令

127.0.0.1:6379> sinter key1 key2
1) "c"

③并集:sunion命令

127.0.0.1:6379> sunion key1 key2
1) "c"
2) "a"
3) "b"
4) "e"
5) "d"

 应用场景:

微博:A用户将所有关注的人放在一个set集合中,将他的粉丝也放在一个结合中!

共同关注、共同爱好,二度好友(六度分割理论)

 

posted @   创客未来  阅读(74)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示