当前位置: 首页 > news >正文

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


前言

在这里插入图片描述


一、面试题

面试题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、复习命令


在这里插入图片描述

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


http://www.lryc.cn/news/61139.html

相关文章:

  • 第二章:集合与区间
  • Mysql8.0版本安装
  • 开放式耳机真的比封闭式强很多吗?推荐几款主流的开放式耳机
  • Doris(7):数据导入(Load)之Routine Load
  • linux 安装php8.1 ZipArchive和libzip最新版扩展安装
  • 大数据 | 实验一:大数据系统基本实验 | 熟悉常用的HBase操作
  • Linux command(split)
  • 开放式耳机好用吗,盘点几款口碑不错的开放式耳机
  • 法规标准-ISO 16787标准解读
  • 脑力劳动-英文单词
  • 机器学习中的三个重要环节:训练、验证、测试
  • 机器学习实战:Python基于LDA线性判别模型进行分类预测(五)
  • Java枚举(Enum)
  • 【Python】【进阶篇】二十一、Python爬虫的多线程爬虫
  • Python从入门到精通14天(eval、literal_eval、exec函数的使用)
  • 队列的基本操作(C语言链表实现)初始化,入队,出队,销毁,读取数据
  • 项目支付接入支付宝【沙箱环境】
  • 程序员应该如何提升自己
  • 全球上线!ABB中国涡轮增压器分拆 – 数据清理阶段完成
  • 手写简易 Spring(三)
  • 设计模式-看懂UML类图和时序图
  • 2023年全国最新安全员精选真题及答案57
  • 数字图像处理基础
  • onnx手动操作
  • 虚拟机安装Centos7,ping不通百度
  • leetCode算法第一天
  • 怎么将太大的word文档压缩变小,3个高效方法
  • mvc+动态代理
  • vue-cli(vue脚手架方式搭建)
  • CentOS 安装 Docker