| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Redis学习之三种特殊类型 -> 正文阅读 |
|
[大数据]Redis学习之三种特殊类型 |
目录 三种特殊类型:? ? ? ? Geospatial(地理位置) ? ? ? ? Hyperloglog(基数统计) ? ? ? ? Bitmap(位图场景) Geospatial? ? ? ? 简称geo,主要用于存储地理位置信息,并对内存的信息进行操作 ? ? ? ? 基本方法? ? ? ? geoadd:添加地理位置坐标 ? ? ? ? geopos:获取地址位置坐标 ? ? ? ? geodist:计算两个位置之间的距离 ? ? ? ? georadius:根据给定的经纬度来获取指定方位内的地理位置集合 ? ? ? ? georadiusbymember:根据给定地点获取指定范围内的坐标集合 ? ? ? ? 演示:
? ? ? ? GEO底层实现原理就是ZSET,可以使用ZSET的命令来操作geo!!
Hyperloglog? ? ? ? 什么是基数: ? ? ? ? A{1,3,5,7,8,7}? ? ? ? B{1,3,5,7,8} ? ? ? ? 基数(不重复的数字)=5,可以接受误差 ? ? ? ?简介? ? ? ? ? ? ? ? -Redis Hyperloglog 基数统计的算法!! ? ? ? ? ? ? ? ? -优点:占用的内存是固定的!2^64不同的元素的技术,只需要占用12KB的内存! ? ? ? ?演示:
? ? ? 场景? ? ? ? 网站的UV(一个人访问网站多次,但是还是算作一个人) ? ? ? ? 传统的方式,set用户的id,然后就可以统一set中元素数量作为判断标准! ? ? ? ? 这种方式大量存储用户的id,比较麻烦!我们的目的是为了计数! ? ? ? ? 这种方式有0.81%的错误错误率,如果是UV的话,可以忽略不计!! Bitmap? ? ? ?测试? ? ? ? 用bitmap来统计用户一周的打卡!使用0(未打卡)、1(打卡)来进行统计!
????????场景? ? ? ? 统计用户信息,活跃、不活跃!登录、未登录!打卡、未打卡!两个状态,都可以使用bitmap |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:35:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |