前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis学习(九)

redis学习(九)

作者头像
崔笑颜
发布2020-09-09 21:07:33
5050
发布2020-09-09 21:07:33
举报

hyperloglog

什么是基数?

基数(cardinal number)在数学上,是集合论中刻画任意集合大小的一个概念。两个能够建立元素间一一对应的集合称为互相对等集合。例如3个人的集合和3匹马的集合可以建立一一对应,是两个对等的集合。

Redis 2.8.9 版本就更新了 Hyperloglog 数据结构! Redis Hyperloglog 基数统计的算法!

优点:占用的内存是固定,2^64 不同的元素的技术,只需要废 12KB内存!如果要从内存角度来比较的 话 Hyperloglog 首选! 网页的 UV (一个人访问一个网站多次,但是还是算作一个人!) 传统的方式, set 保存用户的id,然后就可以统计 set 中的元素数量作为标准判断 ! 这个方式如果保存大量的用户id,就会比较麻烦!我们的目的是为了计数,而不是保存用户id; 0.81% 错误率! 统计UV任务,可以忽略不计的!

代码语言:javascript
复制
127.0.0.1:6666> pfadd key a b c d e f g h i j # 创建第一个
(integer) 1
127.0.0.1:6666> pfcount key 
(integer) 10
127.0.0.1:6666> pfadd key1 i j z x c v b n m 
(integer) 1
127.0.0.1:6666> pfcount key1
(integer) 9
127.0.0.1:6666> pfmerge key2 key key1 # 将两个合并
OK
127.0.0.1:6666> pfcount key2 # 看合并的数量
(integer) 15

如果允许容错,那么一定可以使用 Hyperloglog ! 如果不允许容错,就使用 set 或者自己的数据类型即可!

bitmap

位存储。

统计用户信息,活跃,不活跃! 登录 、 未登录! 打卡,365打卡! 两个状态的,都可以使用 Bitmaps! Bitmap 位图,数据结构! 都是操作二进制位来进行记录,就只有0 和 1 两个状态! 365 天 = 365 bit 1字节 = 8bit 46 个字节左右!

使用bitmap 来记录 周一到周日的打卡! 周一:1 周二:0 周三:0 周四:1 ......

代码语言:javascript
复制
127.0.0.1:6666> setbit sign 0 1 # 是否打卡,0已打卡,1未打。(规则自己定。)
(integer) 0
127.0.0.1:6666> setbit sign 1 0
(integer) 0
127.0.0.1:6666> setbit sign 2 0
(integer) 0
127.0.0.1:6666> setbit sign 3 1
(integer) 0
127.0.0.1:6666> setbit sign 4 1
(integer) 0
127.0.0.1:6666> setbit sign 5 0
(integer) 0
127.0.0.1:6666> setbit sign 6 0
(integer) 0
127.0.0.1:6666> getbit sign 3 # 获取周三。
(integer) 1
127.0.0.1:6666> getbit sign 6
(integer) 0
127.0.0.1:6666> bitcount sign # 这周三个0,也就是打卡三天。
(integer) 3

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • hyperloglog
  • bitmap
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档