redis-5-集合

通过这篇文章你会知道如下:

  • 如何对两个集合进行差集并集交集运算
  • 集合应用场景有哪些
时间复杂度
  • 添加和删除元素

    sadd key element [element ...] 返回添加成功元素个数
    srem key element [element ...] 返回删除成功元素个数

  • 计算元素个数

scard的时间复杂度为O(1) , 它不会遍历集合所有元素, 而是直接用
Redis内部的变量

scard key
  • 判断元素是否在集合中

如果给定元素element在集合内返回1, 反之返回0

sismember key element
  • 随机从集合返回指定个数元素

[count]是可选参数, 如果不写默认为1

srandmember key [count]
  • 从集合随机弹出元素

srandmember和spop都是随机从集合选出元素, 两者不同的是spop命令
执行后, 元素会从集合中删除, 而srandmember不会

spop key

获取所有元素

smembers和lrange、 hgetall都属于比较重的命令, 如果元素过多存在阻
塞Redis的可能性, 这时候可以使用sscan来完成


两个集合交集、并集、差集

sinter key [key ...]   交集
suinon key [key ...]  并集
sdiff key [key ...] 差集

将集合结果进行保存

  sinterstore destination key [key ...]
  suionstore destination key [key ...]
  sdiffstore destination key [key ...]

应用场景

应用场景模型

你可能感兴趣的:(redis-5-集合)