> 文章列表 > 【redis】bitmap、hyperloglog、GEO案例

【redis】bitmap、hyperloglog、GEO案例

【redis】bitmap、hyperloglog、GEO案例

【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签到 + 布隆过滤器,案例升级

前言

【redis】bitmap、hyperloglog、GEO案例


一、面试题

面试题1
【redis】bitmap、hyperloglog、GEO案例
面试题2
【redis】bitmap、hyperloglog、GEO案例

需求痛点
【redis】bitmap、hyperloglog、GEO案例


二、统计的类型

【redis】bitmap、hyperloglog、GEO案例

聚合统计

【redis】bitmap、hyperloglog、GEO案例

命令:
【redis】bitmap、hyperloglog、GEO案例

排序统计

【redis】bitmap、hyperloglog、GEO案例

问题:

【redis】bitmap、hyperloglog、GEO案例

思路

【redis】bitmap、hyperloglog、GEO案例

二值统计 0和1

【redis】bitmap、hyperloglog、GEO案例

基数统计

【redis】bitmap、hyperloglog、GEO案例


三、hyperloglog

【redis】bitmap、hyperloglog、GEO案例

1、名词理解

UV 独立访客

【redis】bitmap、hyperloglog、GEO案例

PV 页面浏览量

【redis】bitmap、hyperloglog、GEO案例

DAU 日活跃用户

【redis】bitmap、hyperloglog、GEO案例

MAU 月活跃度

【redis】bitmap、hyperloglog、GEO案例

2、看需求

【redis】bitmap、hyperloglog、GEO案例

3、是什么(复习)

【redis】bitmap、hyperloglog、GEO案例
基本操作命令
【redis】bitmap、hyperloglog、GEO案例

4、hyperloglog如何做的?如何演化而来

【redis】bitmap、hyperloglog、GEO案例

去重统计中可以用到bitmap 但是同样有问题

【redis】bitmap、hyperloglog、GEO案例

办法:概率算法

【redis】bitmap、hyperloglog、GEO案例

原理说明

【redis】bitmap、hyperloglog、GEO案例

误差为0.81%的说明:来自于redis官网
【redis】bitmap、hyperloglog、GEO案例

5、淘宝首页亿级UV的redis统计方案

a、需求

【redis】bitmap、hyperloglog、GEO案例

b、方案讨论

【redis】bitmap、hyperloglog、GEO案例

用redis的hash结构存储 说明

【redis】bitmap、hyperloglog、GEO案例

hyperloglog

【redis】bitmap、hyperloglog、GEO案例

c、HyperLoglogService

插入hyperloglog的service
【redis】bitmap、hyperloglog、GEO案例
获取存入的key的点击量值
【redis】bitmap、hyperloglog、GEO案例

d、HyperLoglogController

【redis】bitmap、hyperloglog、GEO案例


四、GEO

【redis】bitmap、hyperloglog、GEO案例

1、面试题

【redis】bitmap、hyperloglog、GEO案例

2、经纬度

不具体解释

3、获取某个位置的经纬度

【redis】bitmap、hyperloglog、GEO案例

4、复习GEO命令

【redis】bitmap、hyperloglog、GEO案例

添加 经纬度坐标 + 名字

【redis】bitmap、hyperloglog、GEO案例

根据名字 查询 经纬度

【redis】bitmap、hyperloglog、GEO案例

返回经纬度的geohash表示 获取base32编码值

【redis】bitmap、hyperloglog、GEO案例

两个位置之间的距离

【redis】bitmap、hyperloglog、GEO案例

GEORADIUS 输入坐标

【redis】bitmap、hyperloglog、GEO案例
【redis】bitmap、hyperloglog、GEO案例
【redis】bitmap、hyperloglog、GEO案例

GEORADIUSBYMEMBER 输入名字

【redis】bitmap、hyperloglog、GEO案例

5、美团地图位置附近的酒店推送

需求分析

【redis】bitmap、hyperloglog、GEO案例

架构设计

【redis】bitmap、hyperloglog、GEO案例

编码实现

【redis】bitmap、hyperloglog、GEO案例

controller

【redis】bitmap、hyperloglog、GEO案例

service

添加
【redis】bitmap、hyperloglog、GEO案例

获取经纬度
【redis】bitmap、hyperloglog、GEO案例

获取base32编码值
【redis】bitmap、hyperloglog、GEO案例

获取给定两个点的距离
【redis】bitmap、hyperloglog、GEO案例

通过经纬度查找附近 GEORADIUS
【redis】bitmap、hyperloglog、GEO案例

通过名字查找附近 GEORADIUSBYMEMBER
【redis】bitmap、hyperloglog、GEO案例


五、bitmap

1、面试

【redis】bitmap、hyperloglog、GEO案例

2、是什么

【redis】bitmap、hyperloglog、GEO案例

3、能干嘛

【redis】bitmap、hyperloglog、GEO案例

4、京东签到领京豆

mysql方式—
【redis】bitmap、hyperloglog、GEO案例

redis方式----
【redis】bitmap、hyperloglog、GEO案例

5、复习命令

【redis】bitmap、hyperloglog、GEO案例
【redis】bitmap、hyperloglog、GEO案例

6、案例实战见下一章,bitmap签到 + 布隆过滤器,案例升级