Redis教程(十):Redis中三种特殊数据类型命令

一、Geospatial

Geospatial是地理位置类型,我们可以用来查询附近的人、计算两人之间的距离等。

新增:

复制代码
geoadd city 106.54041 29.40268 chongqing 118.8921 31.32751 nanjing 117.30794 31.79322 hefei 102.82147 24.88554 kunming 91.13775 29.65262 lasa 116.23128 40.22077 beijing 

查看集合key:

复制代码
ZRANGE city 0 -1

查看指定位置:

复制代码
geopos city nanjing

查看多个指定位置:

复制代码
geopos city nanjing beijing

计算两个位置的距离:

复制代码
geodist city nanjing beijing

查看指定位置的1000公里范围内有哪些城市(111,45是经纬度):

复制代码
georadius city 111 45 1000 km

查看指定位置的1000公里范围内有哪些城市,返回带上经纬度:

复制代码
georadius city 120 38 1000 km withcoord

查看指定位置的1000公里范围内有哪些城市,返回带上距离和经纬度:

复制代码
georadius city 120 38 1000 km withcoord withdist

查看指定位置的1000公里范围内有哪些城市,返回带上距离和经纬度和哈希(哈希值越像则越近):

复制代码
georadius city 120 38 1000 km withcoord withdist withhash

查看指定位置的1000公里范围内有哪些城市,返回带上距离和经纬度和哈希(哈希值越像则越近),只返回两个:

复制代码
georadius city 120 38 1000 km withcoord withdist withhash count 2

查找指定元素指定范围内的元素:查询南京 500公里范围有哪些城市

复制代码
georadiusbymember city nanjing 500 km

返回北京和南京的经纬度的 hash值:

复制代码
geohash city beijing nanjing

删除一个位置:

复制代码
ZREM city lasa

二、Hyperloglog

Hyperloglog指的是基数,两个数据集中不重复的元素,在Redis中,会有一定的误差性。 官方给出的误差率是0.81% ,占用的内存是固定的,2^64个元素,相当于只需要12kb的内存即可。效率极高,网站的访问量,就可以利用Hyperloglog来进行计算统计!!

添加数据集:

复制代码
pfadd dataList 1 2 3 4 5 6 7

统计数据集中的元素:

复制代码
pfcount dataList

取并集:

复制代码
pfmerge newdata dataList dataList1  

三、Bitmap

Bitmap指的是位存储,操作二进制位来进行记录,就只有0 和 1 两个状态,可能需要我们统计用户的登陆信息,员工的打卡信息等等。只要是事务的只有两个状态的,我们都可以用Bitmap来进行操作。

添加:

复制代码
setbit login 1 1

获取:

复制代码
 getbit login 1

统计:

复制代码
bitcount login
相关推荐
这个DBA有点耶18 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G18 小时前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备18 小时前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远19 小时前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠19 小时前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz20 小时前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_9622186120 小时前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
全栈弄潮儿²⁰²⁴20 小时前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
张洛闻Eren21 小时前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安21 小时前
MySQL-触发器
数据库·mysql