发布时间:2024-03-02 12:30:01
Redis 经常使用的数据类型有字符串、列表、散列、集合和有序集合,但这些类型并不能满足所有的应用场景,因此,Redis 的后续版本不断的扩增其他数据类型来增强 Redis 适用能力。在 Redis 2.8.9 版本中新增了 HyperLogLog 类型。2^64
个值,而 set(集合)则是元素越多占用的内存就越多,两者形成了鲜明的对比 。HyperLoglog 使用起来较为方便,但是其内部原理较为复杂,不建议大家深入研究,只要会用即可。
命令 | 说明 |
---|---|
PFADD key element [element ...] | 添加指定元素到 HyperLogLog key 中。 |
PFCOUNT key [key ...] | 返回指定 HyperLogLog key 的基数估算值。 |
PFMERGE destkey sourcekey [sourcekey ...] |
将多个 HyperLogLog key 合并为一个 key。 |
PFADD
、PFCOUNT
和PFMERGE
。www.biancheng.net
365工具网。
#向指定的key中添加用户 127.0.0.1:6379> PFADD user:uv:2021011308 user01 user02 user03 (integer) 1 #向指定的key中添加用户 127.0.0.1:6379> PFADD user:uv:2021011309 user04 user05 (integer) 1 #统计基数值 127.0.0.1:6379> PFCOUNT user:uv:2021011308 (integer) 3 #重复元素不能添加成功,其基数仍然为3 127.0.0.1:6379> PFADD user:uv:2021011308 user01 user02 (integer) 0 127.0.0.1:6379> PFCOUNT user:uv:2021011308 (integer) 3 #添加新元素值 127.0.0.1:6379> PFADD user:uv:2021011308 user06 (integer) 1 #基数值变为4 127.0.0.1:6379> PFCOUNT user:uv:2021011308 (integer) 4 #统计两个key的基数值 127.0.0.1:6379> PFCOUNT user:uv:2021011308 user:uv:2021011309 (integer) 6 #将两个key值合并为一个 127.0.0.1:6379> PFMERGE user:uv:2021011308-09 user:uv:2021011308 user:uv:2021011309 OK #使用合并后key统计基数值 127.0.0.1:6379> PFCOUNT user:uv:2021011308-09 (integer) 6
在线练习工具:https://try.redis.io/
查看更多命令:https://redis.io/commands