当前位置: 首页 > 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接收机_毫米高精度精准定位
  • 魔都眼|静安光影派对五一启幕:苏河湾看徐悲鸿艺术画作
  • 锦江酒店:第一季度营业收入约29.42亿元,境内酒店出租率同比增长
  • 五一小长假,带着小狗去上海音乐厅
  • TCL科技一季度净利增超三倍,去年半导体显示业务营收创新高
  • 王毅:为改革完善全球治理作出金砖贡献
  • 促进产销对接,安徽六安特色产品将来沪推介