Rediss高级数据结构

时间:2021-09-19
本文章向大家介绍Rediss高级数据结构,主要包括Rediss高级数据结构使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、位图

1.使用场景

存储bool型数据,例如用户一年的签到记录。
最小单位是bit, 取值只能是0或1.

  • 各种实时分析.
  • 存储与对象ID关联的节省空间并且高性能的布尔信息.

2.统计与查找

统计指令:bitcount;统计指定范围内1的个数
查找指令:bitpos;查找指定范围内出现的第一个0或1

二、HyperLogLog

海量数据的去重统计方案

1.使用场景

用于统计功能,估算,标准误差0.81%
例如:统计网页的访问UV

2.常用指令

pfadd
pfcount
pfmerge

为什么指令要以pf为前缀,因为这个数据结构的发明人Philippe Flajolet, pf是缩写

三、布隆过滤器(Bloom Filter)

1.是什么

可理解为:不怎么精确的Set结构
用途:用于检索一个元素是否在一个集合中。

2.使用场景

新闻客户端推荐系统实现推送去重

3.常用指令

bf.add
bf.exists

四、GeoHash

1.用途

GeoHash算法用于地理位置距离排序(附近的人)

2。原理

内部结构是zset(skiplist)

3. 常用指令

geoadd
geodist
geopos

4.注意

若要使用该算法,最好单独一个redis服务运行,不要集群

原文地址:https://www.cnblogs.com/fchxqncj/p/15312765.html