Redis 特殊数据类型

Redis 除了常用数据类型 string、hash、list、set、zset 等,还有一些不常用的数据类型,比如 bitmaps(位图), hyperloglogs(基数统计) 和 geospatial(地理空间)三种特殊数据类型。

bitmaps

现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位。

Redis提供了Bitmaps这个“数据类型”可以实现对位的操作。

hyperloglogs

Redis 在 2.8 版本以后,加入了对基数的统计支持 hyperloglogs。

基数

对于一个数组中的元素,不重复元素的个数,就称为基数。

  • {1,2,2,3,5,5} 基数是 4
  • {1,3,3,3,3,2} 基数是 3

场景

网站的 UV (用户访问量:一个人多次访问同一个网站,算一次访问量)

缺点

hyperloglogs 不是精确值,有 0.81% 的误差,如果对数据准确性要求很高,不适用。

geospatial

Redis 在 3.2 版本以后,加入了地理位置的支持 geopspatial。

geopspatial 可以通过经纬度推算两地之间的距离。

转载请注明出处:码谱记录 » Redis 特殊数据类型
标签: