【redis】bitmap、hyperloglog、GEO案例
文章目录
- 【redis】bitmap、hyperloglog、GEO案例
- 前言
- 一、面试题
- 二、统计的类型
- 聚合统计
- 排序统计
- 问题:
- 思路
- 二值统计 0和1
- 基数统计
- 三、hyperloglog
- 1、名词理解
- UV 独立访客
- PV 页面浏览量
- DAU 日活跃用户
- MAU 月活跃度
- 2、看需求
- 3、是什么(复习)
- 4、hyperloglog如何做的?如何演化而来
- 去重统计中可以用到bitmap 但是同样有问题
- 办法:概率算法
- `原理说明`
- 5、淘宝首页亿级UV的redis统计方案
- a、需求
- b、方案讨论
- 用redis的hash结构存储 说明
- hyperloglog
- c、HyperLoglogService
- d、HyperLoglogController
- 四、GEO
- 1、面试题
- 2、经纬度
- 3、获取某个位置的经纬度
- 4、复习GEO命令
- 添加 经纬度坐标 + 名字
- 根据名字 查询 经纬度
- 返回经纬度的geohash表示 获取base32编码值
- 两个位置之间的距离
- GEORADIUS 输入坐标
- GEORADIUSBYMEMBER 输入名字
- 5、美团地图位置附近的酒店推送
- 需求分析
- 架构设计
- 编码实现
- controller
- service
- 五、bitmap
- 1、面试
- 2、是什么
- 3、能干嘛
- 4、京东签到领京豆
- 5、复习命令
- 6、案例实战见下一章,bitmap签到 + 布隆过滤器,案例升级
前言
一、面试题
面试题1
面试题2
需求痛点
二、统计的类型
聚合统计
命令:
排序统计
问题:
思路
二值统计 0和1
基数统计
三、hyperloglog
1、名词理解
UV 独立访客
PV 页面浏览量
DAU 日活跃用户
MAU 月活跃度
2、看需求
3、是什么(复习)
基本操作命令
4、hyperloglog如何做的?如何演化而来
去重统计中可以用到bitmap 但是同样有问题
办法:概率算法
原理说明
误差为0.81%的说明:来自于redis官网
5、淘宝首页亿级UV的redis统计方案
a、需求
b、方案讨论
用redis的hash结构存储 说明
hyperloglog
c、HyperLoglogService
插入hyperloglog的service
获取存入的key的点击量值
d、HyperLoglogController
四、GEO
1、面试题
2、经纬度
不具体解释
3、获取某个位置的经纬度
4、复习GEO命令
添加 经纬度坐标 + 名字
根据名字 查询 经纬度
返回经纬度的geohash表示 获取base32编码值
两个位置之间的距离
GEORADIUS 输入坐标
GEORADIUSBYMEMBER 输入名字
5、美团地图位置附近的酒店推送
需求分析
架构设计
编码实现
controller
service
添加
获取经纬度
获取base32编码值
获取给定两个点的距离
通过经纬度查找附近 GEORADIUS
通过名字查找附近 GEORADIUSBYMEMBER
五、bitmap
1、面试
2、是什么
3、能干嘛
4、京东签到领京豆
mysql方式—
redis方式----
5、复习命令