Redis数据结构之集合

本文深入解析Redis中的Set数据类型,探讨其内部实现机制,如intset和hashtable,以及应用场景,包括标签系统、生成随机数和求集合运算。详细介绍sadd、srem等常用命令,帮助读者掌握Set类型的全面操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

set类型是用来保存多个字符串元素,但是不允许有重复,并且集合中的元素是无序的。集合有增删改查的操作,还有求集合间的交集、并集、差集等

常用命令介绍
命令命令描述
sadd key element [element...]添加元素
srem key element [element...]删除元素
scard key计算元素个数
sismember key element判断元素是否在集合中
srandmember key [count]随机从集合返回指定个数元素
spop key [count]随机从集合中弹出指定个数元素
smembers key获取所有元素
sinter|suinon|sdiff key [key...]求多个集合的交并差集
sinterstore destination key [key...]将集合的交并差集的结果保存到destination key中

在这里插入图片描述

内部编码
  1. intset(整数集合):当元素都是整数且个数小于512个时,Redis会选用intset作为集合的内部实现,从而减少内存的使用
  2. hashtable(哈希表):
应用场景
  • 标签系统 sadd
  • 生成随机数,用于抽奖等 spop/srandmember
  • 求交集,用于社交方面 sadd+sinter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值