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集合中,将他的粉丝也放在一个结合中!
共同关注、共同爱好,二度好友(六度分割理论)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?