④【Set】Redis常用数据类型: Set [使用手册]

2023-11-24 10:56:25 浏览数 (1)

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~


④Redis Set 操作命令汇总


  • Redis的Set是String类型的无序不可重复集合,集合对象的编码可以是intset或者hashtable
  • Redis中Set集合是通过哈希表实现的,添加、删除、查找的复杂度都是O(1)
  • 集合中最多存放2^32-1个元素
1. sadd 向集合添加一个或多个成员

sadd key member [member ...]

代码语言:javascript复制
# 向集合添加单个成员
 sadd set1 m1
# 向集合添加多个成员
sadd set1 m2 m3
# 返回值是操作成功的个数

2. smembers 遍历集合中所有成员

smembers key

代码语言:javascript复制
# 遍历set1中的所有元素
smembers set1

3. sismember 判断集合中是否存在指定的成员

sismember key member

代码语言:javascript复制
# 判断指定成员是否存在于集合set1
# 1:yes
# 0:no
sismember set1 m1
sismember set1 m

4. srem 删除集合中一个或多的成员

srem key member [member ...]

代码语言:javascript复制
# 删除指定的成员
srem set1 m1 m2 m3

5. scard 获取集合的成员数量

scard key

代码语言:javascript复制
# 获取set1中的成员数量
scard set1

6. srandmember 返回一个或多个集合中的随机成员

srandmember key [count]

代码语言:javascript复制
# 不指定数量,默认返回一个随机成员
srandmember set1
srandmember set1 2

7. spop 移除并返回集合中的随机成员(可指定数量)

spop key [count]

代码语言:javascript复制
# 移除并返回随机成员,不指定数量默认移除一个
spop set1
spop set1 2

8. smove 将指定成员从source移动到destination

smove source destination member

代码语言:javascript复制
# 将成员888从set1移动到set2
 smove set1 set2 888

9. sdiff 集合成员的差集运算

sdiff key [key ...]

代码语言:javascript复制
# 返回 属于集合s1 但不属于集合s2的成员
sdiff s1 s2

10. sunion集合成员的并集运算

sunion key [key ...]

代码语言:javascript复制
# 返回 属于集合s1或属于集合s2的成员合并后的结果
sunion s1 s2

11. sinter 集合成员的交集运算

sinter key [key ...]

代码语言:javascript复制
# 返回 集合s1与集合s2成员的交集运算
sinter s1 s2

12. sintercard 集合成员的交集运算结果的个数(可限制最大值)

sintercard numkeys key [key ...] [LIMIT limit]

代码语言:javascript复制
# sintercard 运算集合数 集合1 集合2...集合n limit 最大值
sintercard 2 s1 s2
sintercard 2 s1 s2 limit 1


0 人点赞