声明:学习笔记,有错希指正、
本篇将介绍redis中集合最常用的一些指令,插入,删除,移动元素到另一个集合,以及多个集合的交并差运算。
| 命令 | 操作 |
|---|---|
| sadd | 加一个或者多个元素加入到集合里面,并返回被添加当中原本并不在集合里面的数量 |
| srem | 移除一个或者多个元素,并返回移除的数量 |
| sismember | 检查某个元素是否存在某个集合里面 |
| scard | 返回集合里面元素的数量 |
| smembers | 返回集合里面所有的元素 |
| srandmember | 从集合里面随机返回一个或者多个元素 |
| spop | 随机移除一个元素,返回随机移除的元素 |
| smove | smove source-key dest-key item 如果集合source-key包含元素item,那么从集合source-key里面移除元素item,并添加到集合dest-key里面,如果移除成功移除,那么命令返回1,否则返回0 |
| sdiff | sdiff key-name [key-name …] 返回那些存在于第一个集合,但不存在其他集合当中的元素(相当于差集运算) |
| sdiffstore | sdiffstore store-key key1 [key… ] 将存在于第一个集合,但不存在其他集合当中的元素(相当于差集运算)找出来,并且存到dest-key里面,区别于上一步就是多了一个保存 |
| sinter | 交集运算 |
| sinterstore | 交集运算并存储 |
| sunion | 并集运算 |
| sunionstore | 并集运算并存储 |
--基本增删改操作
--增加多个元素
redis 127.0.0.1:6379> sadd set-key1 a b c d e
(integer) 5
redis 127.0.0.1:6379> smembers set-key1
1) "c"
2) "d"
3) "a"
4) "b"
5) "e"
--返回集合元素数量
redis 127.0.0.1:6379> scard set-key1
(integer) 5
--检查是否存在某元素
redis 127.0.0.1:6379> sismember set-key1 a
(integer) 1
--移除某元素
redis 127.0.0.1:6379> srem set-key1 a
(integer) 1
--移除后
redis 127.0.0.1:6379> smembers set-key1
1) "b"
2) "c"
3) "d"
4) "e"
--随机移除 第一个语法错误
redis 127.0.0.1:6379> spop b
(nil)
--直接spop某个键名 返回随机移除元素
redis 127.0.0.1:6379> spop set-key1
"c"
--创建第二个集合
redis 127.0.0.1:6379> sadd set-key2 dest
(integer) 1
--查询set-key1的元素
redis 127.0.0.1:6379> smembers set-key1
1) "d"
2) "e"
3) "b"
--移动set-key1的元素e到set-key2
redis 127.0.0.1:6379> smove set-key1 set-key2 e
(integer) 1
--查看移动后的结果
redis 127.0.0.1:6379> smembers set-key2
1) "dest"
2) "e"
--被移除集合无被移除元素 返回0
redis 127.0.0.1:6379> smove set-key1 set-key2 f
(integer) 0
--进行交并差运算
--set-key1初始化
redis 127.0.0.1:6379> sadd set-key1 a b c d e f
(integer) 4
--set-key2初始化
redis 127.0.0.1:6379> sadd set-key2 c f
(integer) 2
--查看set-key1
redis 127.0.0.1:6379> smembers set-key1
1) "c"
2) "d"
3) "e"
4) "f"
5) "a"
6) "b"
--查看set-key2
redis 127.0.0.1:6379> smembers set-key2
1) "c"
2) "dest"
3) "e"
4) "f"
--求差集
redis 127.0.0.1:6379> sdiff set-key1 set-key2
1) "d"
2) "a"
3) "b"
--将差的结果存到第三个集合set-key3里面
redis 127.0.0.1:6379> sdiffstore set-key3 set-key1 set-key2
(integer) 3
redis 127.0.0.1:6379> smembers set-key3
1) "d"
2) "a"
3) "b"
--下面不再展示并集和交集的运算,原理一模一样
命令为:
sinter 交集
sinterstore 交集存储
sunion 并集
sunion 并集存储
redis 127.0.0.1:6379>>
Redis集合操作详解
本文详细介绍Redis集合的基本操作,包括元素的增删查改及集合之间的交并差运算。通过实例展示了如何使用sadd、srem等命令进行集合元素管理,以及如何利用sdiff、sinter等命令实现集合运算。
1519

被折叠的 条评论
为什么被折叠?



