Redis 三种特殊数据类型 geospatial,Hyperloglog,Bitmaps

其实三种特殊数据类型还是由五大数据类型实现的,方便用户使用

一、Geospatial 类型(地理位置存储)本质还是一个集合
geoadd key 经度 纬度 名称 两极无法直接添加
geopos 获取集合里指定位置的经纬度
geodist 位置一 位置二 km/m 得到两个指定位置的距离(打车软件或地图软件里距离计算)
georadius 经度 纬度 半径 km 以给定经纬度为中心在集合内查找半径内的元素
georadiusbymember 找出位于集合内某位置指定半径内的其他位置(QQ里附近的人)
geohash 返回经纬度的字符串。

二、Hyperloglog (一种数据结构)
是一种用于基数统计算法的数据结构:占用内存少,效率高。
基数:列表里不重复元素的个数

应用:网页中的实际访问量:一个人多次访问只能算做一次。传统的实现是
用一个Set集合存储访问过的用户的id则访问量为集合的大小。但是访问量很大的时候,这样处理十分消耗内存,所以有了hyperloglog。
hyperloglog 并不是十分完美的,在某种情况下有0.81%的错误率

PFADD key 232 添加元素
PFCOUNT key 返回集合中实际的大小(已自动去重)
PFMERGE 求两个集合的并集

应用:统计+UV任务

三、Bitmaps 位图(适用于位存储)
如果信息只有两种状态则适用于Bitmaps
如:统计用户活跃不活跃,登录未登录,打卡未打卡
示例:

setbit mahao 0 1 第一天打卡
setbit mahao 1 0 第二天未打卡
getbit mahao 2 第二天状态
bitcount mahao 计算1的数量(共打卡几天)

Bitmaps 存储有两个状态的信息十分便捷。
后面继续更新Redis事务操作

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值