redis基本数据结构-集合set
redis基本数据结构-集合set
- 特性
- 一个集合键最多存储 2^32 - 1 个字符串值
- 元素在集合内无序(哈希表-链地址法解决冲突)
- 元素在集合内唯一
- 向集合添加元素
sadd key value1 value2 ...
sadd letters a b c d
返回4(实际添加的元素个数), letters = {a, b, c, d},无序,只为指示集合中的值
- 从集合删除元素(只删除且只返回实际删除了的个数,而不返回删除的元素值)
srem key value1 value2 ...
srem a c
返回2(实际删除的元素个数), letters = {b, d}
- 获取集合中的所有元素
smembers key
smembers letters
letters = {b, d}
- 判断元素是否在集合中
sismember key value
sismember letters b
返回1
sismember letters a
返回0
- 相减运算
sdiff key1 key2 ...
说明: sdiff key1 key2 === {x | x∈key1 and x∉key2}
sadd letters a c
sadd letters2 a b c
sdiff letters letters2
letters = {a, b, c, d}
letters = {a, b , c}
返回{d}
- 相交运算
sinter key1 key2 ...
sinter letters letters2
返回 {a, b, c}
- 并集运算
sunion key1 key2 ...
1 | sunion letters letters2 |
返回 {a, b, c, d}
- 获取集合中的元素总数
scard key
scard letters
返回 4, letters = {a, b, c, d}
随机获取集合中的(指定个数)元素
srandmember key [count]
当 不指定count,返回1个
当 count > 0,返回count不重复的,如果count > scard key ,则返回全部
当 count < 0,返回abs(count)个可能会重复的,如果abs(count) > scard key,则返回可能重复的abs(count)个
letters = {a, b, c, d}
srandmember letters
返回 b,随机的,不一定是b
srandmember lettters -3
返回{a, b, a},随机的,不一定是这3个
- 进行集合运算并将计算结果存储在一个key中
key1 key2 ... 等键做diff运算后存储在key中
sdiffstory key key1 key2 ...
- key1 key2 ... 等键做交集运算后存储在key中
sinter key key1 key2 ...
- key1 key2 ... 等键做并集运算后存储在key中
sunion key key1 key2 ...
- 从集合中弹出某个元素(随机删除并返回元素值,区别于srem)
spop key
spop letters
返回 a,随机的,不一定是a
**********************技术交流请 email:cuihao0532#163.com 欢迎转载,转载请注明出处!***************************** 如果对本文满意请扫描文章左侧【二维码添加微信】获取更多好玩、有趣、有益、有营养的料,
你我共同成长!Y(^_^)Y
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗