set hello big
big字符串在计算机中存储为
0110 0010 0110 1001 0110 0111
redis是可以直接获取每个位,如下
得到的依次如下:
0110 0010 01
发现和推算的一样。
这样,定义一个key,通过设置指定偏移位的值,来存储数据,最经典的案例为登录统计。
如果设置一个很大的偏移量,那么会将前面都补0。
HyperLogLog和SET差不多。存储唯一元素,但是hyperLogLog占用的空间少,同时也会存在0.81%的误差。
如图中,hyper中存储了1000000个数据,通过pfcount获取基数时发现不是得到的1000000,
hyperloglog无法取出添加进去的数据。在set场景中存储太多数据,并且对准确率要求不是那么高的可以
尝试用hyperloglog。
应用场景
- 统计词条搜索次数