当前位置: 首页 > news >正文

【Redis】set类型

目录

  • 1、介绍
  • 2、底层实现
    • 【1】整数集合
    • 【2】哈希表
  • 3、常用指令

1、介绍

Redis的set集合类型是一种无序且元素唯一的数据结构,支持高效的成员判断、集合运算和随机访问。

2、底层实现

【1】整数集合

适用场景

当集合中所有的元素都是整数,且元素数量较少时(默认配置为 set-max-intset-entries 512)

实现特点

1、连续内存存储,类似数组,支持二分法查找
2、自动升级,当插入非整数或超出当前整数类型范围时,会转化为哈希表

【2】哈希表

适用场景

元素包含非整数,或元素数量超过intset阈值

实现特定

1、使用Redis的通用链式哈希结构,键为元素值,值为NULL。
2、自动扩缩容,通过rehash机制平衡性能与内存占用。

3、常用指令

命令语法作用
SADDSADD key member [member …]向集合key添加一个或多个成员,已存在的成员会被忽略
SREMSREM key member [member …]从集合key移除一个或多个成员,不存在的成员会被忽略
SMEMBERSSMEMBERS key返回集合key中所有成员(无序)
SISMEMBERSISMEMBER key member判断member是否是集合key的成员,返回1(存在)或0(不存在)
SCARDSCARD key返回集合key的成员数量
SPOPSPOP key [count]随机移除并返回集合key中的一个或多个成员(默认1个)
SRANDMEMBERSRANDMEMBER key [count]随机返回集合key中的一个或多个成员
SMOVESMOVE source dest member将member从source集合移动到dest集合(原子操作)
SINTERSINTER key [key …]返回多个集合的交集
SUNIONSUNION key [key …]返回多个集合的并集
SDIFFSDIFF key [key …]返回第一个集合与其它集合的差值(即key1有而其他集合没有的成员)
SINTERSTORESINTERSTORE dest key [key …]计算多个集合的交集并存储到dest
SUNIONSTORESUNIONSTORE dest key [key …]计算多个结合的并集并存储到dest
SDIFFSTORESDIFFSTORE dest key [key …]计算多个集合的差集并存储到dest
SSCANSSCAN key cursor [MATCH pattern] [COUNT count]增量迭代集合中的成员

相关文章:

  • java工具类
  • 2P4M-ASEMI机器人功率器件专用2P4M
  • 中国地区土地覆盖综合数据集
  • 复杂背景下无人机影像小目标检测:MPE-YOLO抗遮挡与抗背景干扰设计
  • Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式
  • Spark RDD行动算子与共享变量实战:从数据聚合到分布式通信
  • 革新桌面自动化:微软UFO²操作系统深度解析与未来展望
  • 迷你世界UGC3.0脚本Wiki角色模块管理接口 Actor
  • django filter 排除字段
  • 程序代码篇---ESP32 Camera Server
  • 【Redis】zset类型
  • go语言八股文(三)
  • 2个小时1.5w字| React Golang 全栈微服务实战
  • 新增29个专业,科技成为未来主赛道!
  • 04.通过OpenAPI-Swagger规范让Dify玩转Agent
  • Linux操作系统学习---进程地址空间
  • Zabbix
  • Clang中ext_vector_type和address_space __attribute__的使用
  • 《从分遗产说起:JS 原型与继承详解》
  • 测地型GNSS接收机_毫米高精度精准定位
  • 央行副行长谈美债和美元波动:单一市场、单一资产的变动,对外储影响总体有限
  • 宣称防老年痴呆的“原装进口”保健品McPee被指涉假,未获澳方销售批准
  • 财政部部长蓝佛安:中国将采取更加积极有为的宏观政策
  • 美联合健康集团高管枪杀案嫌疑人对谋杀指控不认罪
  • 迎接神十九乘组回家,东风着陆场各项工作已准备就绪
  • 瑞士外长答澎湃:瑞中都愿升级自贸协定,关税战没有任何好处