RedisSet类型操作
Redis-Set类型-增删改查
- 集合就是一堆无序的数据,Redis可以把一堆无序的数据当做Value存储起来
- 集合中不能出现
重复
的数据
🐤新增
- 语法:sadd key value1, [value2, ...]
sadd names BNTang JonathanTang xhh
🍳查询
- 返回集合中所有元素
- 语法:smembers key
- 由于Redis是单线程的,而以上操作都是非常耗时的,所以当元素比较多时需要慎用
smembers names
- 返回集合中N个元素,随机返回N个
- 语法:srandmember key [count]
srandmember names 1
🐸删除
- 随机删除N个元素
- 语法:spop key
spop names
- 删除集合中的指定元素
- 语法:srem key value1, [value2, ...]
srem names xhh
Redis-Set类型-其它操作
🐤追加元素
- sadd:key不存在就新增,存在就追加
- sadd:追加的元素不存在就追加,追加的元素存在会自动忽略(就不追加了)
sadd names BNTang JonathanLee
sadd names BNTang
sadd names xhh
经过上面的三条命令发现,只有最后一条才可以追加成功,因为xhh不存在就会追加进去存在的话啥也不干
🐥统计集合中元素个数
- 语法:scard key
scard names
🦮判断集合中是否有指定元素
- 语法:sismember key member
- 存在返回1,不存在返回0
sismember names tyh
sismember names BNTang
Redis中的集合是支持集合间的操作的,也就是求交集,并集和差集
🐤交集
- 语法:sinter key [key, ...]
- {1, 2, 3} ∩ {2, 3, 4} =
🐸并集
- 语法:sunion key [key, ...]
- {1, 2, 3} ∪ {2, 3, 4} =
🦄差集
- 语法:sdiff key [key, ...]
- {1, 2, 3} - {2, 3, 4} =
- {2, 3, 4} - {1, 2, 3} =
Redis-Set类型-应用场景
抽奖
- srandmember key [count]
绑定标签
- sadd key value1, [value2, ...]
社交关系
例如微博
- sinter key [key, ...]
- sunion key [key, ...]
- sdiff key [key, ...]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具