【Redis】set类型

目录

1、介绍

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

2、底层实现

【1】整数集合

适用场景

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

实现特点

1、连续内存存储,类似数组,支持二分法查找

2、自动升级,当插入非整数或超出当前整数类型范围时,会转化为哈希表

【2】哈希表

适用场景

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

实现特定

1、使用Redis的通用链式哈希结构,键为元素值,值为NULL。

2、自动扩缩容,通过rehash机制平衡性能与内存占用。

3、常用指令

命令 语法 作用
SADD SADD key member member ... 向集合key添加一个或多个成员,已存在的成员会被忽略
SREM SREM key member member ... 从集合key移除一个或多个成员,不存在的成员会被忽略
SMEMBERS SMEMBERS key 返回集合key中所有成员(无序)
SISMEMBER SISMEMBER key member 判断member是否是集合key的成员,返回1(存在)或0(不存在)
SCARD SCARD key 返回集合key的成员数量
SPOP SPOP key count 随机移除并返回集合key中的一个或多个成员(默认1个)
SRANDMEMBER SRANDMEMBER key count 随机返回集合key中的一个或多个成员
SMOVE SMOVE source dest member 将member从source集合移动到dest集合(原子操作)
SINTER SINTER key key ... 返回多个集合的交集
SUNION SUNION key key ... 返回多个集合的并集
SDIFF SDIFF key key ... 返回第一个集合与其它集合的差值(即key1有而其他集合没有的成员)
SINTERSTORE SINTERSTORE dest key key ... 计算多个集合的交集并存储到dest
SUNIONSTORE SUNIONSTORE dest key key ... 计算多个结合的并集并存储到dest
SDIFFSTORE SDIFFSTORE dest key key ... 计算多个集合的差集并存储到dest
SSCAN SSCAN key cursor MATCH pattern COUNT count 增量迭代集合中的成员
相关推荐
晚染烟9 小时前
每日八股day17
redis
xqqxqxxq17 小时前
Redis 五大常用数据类型 + 通用命令笔记
数据库·redis·笔记
LCG元1 天前
ESP32-IDF 远程固件升级实战:HTTPS OTA + 双分区切换 + 自动回滚
数据库·redis·https
MC皮蛋侠客1 天前
Redis 系列(十一):高可用(二)——Redis Cluster 集群
数据库·redis·bootstrap
祈禾1 天前
Redis三大缓存问题与分布式锁
运维·数据库·redis·笔记·分布式·缓存
福大大架构师每日一题2 天前
Redis 8.10.0 正式发布:紧凑哈希、批量导入、备份恢复、流与时序能力全面升级
数据库·redis·哈希算法
祈禾2 天前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
y = xⁿ2 天前
一文掌握Redis常见八股
数据库·redis·缓存
MC皮蛋侠客2 天前
Redis 系列(五):持久化——RDB、AOF 与混合持久化
数据库·redis·bootstrap
xqqxqxxq2 天前
Redis五大常用数据类型技术笔记
数据库·redis·笔记