简介

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中

Redis数据结构之集合

内部编码

  1. intset(整数集合):当元素都是整数且个数小于512个时,Redis会选用intset作为集合的内部实现,从而减少内存的使用
  2. hashtable(哈希表):

应用场景

  • 标签系统 sadd
  • 生成随机数,用于抽奖等 spop/srandmember
  • 求交集,用于社交方面 sadd+sinter

相关文章: