Redis常见数据类型(6)-set, zset

目录

Set

命令小结

内部编码

使用场景

用户画像

其它

Zset有序集合

普通指令

zadd

zcard

zcount

zrange

zrevrange

​编辑 

 zrangebyscore

zpopmax/zpopmin

bzpopmax/bzpopmin

zrank/zrevrank

zscore

zrem

 zremrangebyrank

zremrangebyscore


Set

命令小结

命令 功能 时间复杂度
sadd key element [element...] 向集合添加元素 O(k), k是元素个数
srem key element [element...] 删除集合中的元素 O(k), k是元素个数
scard key 求集合中的元素数目 O(1)
sismember key element 判断一个元素是否在集合内 O(1)
srandmember key [count] 在集合中随机获取count个元素 O(count)
spop key [count] 在集合中随机删除count个元素 O(count)
smembers key 获取集合中的所有元素 O(k), k是元素个数
sinter key [key...] sinterstore 求多个集合的交集 O(m * k)
sunion key [key...] sunionstore 求多个集合的并集 O(k), k是多个集合元素个数的总和
sdiff key [key...] sdiffstore 求多个集合的差集 O(k), k是多个集合元素个数的总和

内部编码

集合中的内部编码有两种: 

intset(整数集合): 当集合中的元素都是整数并且元素的个数小于set-max-intset-entires配置时, Redis会选用intset来作为集合的内部实现, 从而减少内存的使用. 

hashtable(哈希表): 当集合类型无法满足intset的条件时, Redis会使用hashtable作为集合的内部实现. 

 

使用场景

用户画像

集合类型比较典型的使用场景就是用户画像, 例如在抖音中, 用户A对美女跳舞, 唱跳rap篮球感兴趣, 用户B对历史, 二次元游戏感兴趣, 那么这些特征就会被记录为用户画像, 这些数据对提升用户体验和用户黏度就非常有帮助.

其它

在社交软件中查找共同好友. 以及互联网产品中衡量用户量, 用户规模非常有帮助(主要是按照浏览量等指标来确定, 如果同一个用户多次访问, 就会去重访问信息, 这样有助于准确地提供用户规模等信息). 

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值