Redis从入门到深入-高级数据类型(21)
2020-08-03 22:01
1026 查看
1. Bitmaps
1.1 Bitmaps类型的基础操作
- 获取指定key对应偏移量上的bit值
getbit key offset
- 设置指定key对应偏移量上的bit值, value 只能是1或 0
setbit key offset value1.2 Bitmaps类型的扩展操作
-
业务场景-电影网站
-
统计每天某一部电影是否被点播
- 统计每天有多少部电影被点播
- 统计每周/月/年有多少部电影被点播
- 统计年度哪部电影没有被点播
-
业务分析
1.3 Bitmaps类型的扩展操作
- 对指定key按位进行交、并、非、异或操作, 并将结果保存到destKey中
bitop op destKey key1 [key2...]
- and:交 - or:并 - not:非 - xor:异或
- 统计指定key中1的数量
bitcount key [start end]
2. HyperLogLog
2.1 基数集2.2 LogLog算法
2.3 HyperLogLog类型的基本操作
- 添加数据
pfadd <key> <element> [element...]
- 统计数据
pfcount <key> [key...]
- 合并数据
pfmerge <destkey> <sourcekey> [sourekey...]2.4 相关说明
- 用于进行基数统计,不是集合,不保存数据,只记录数量而不是具体数据
- 核心是基数估算算法,最终数值存在一定误差
- 误差范围:基数估计的结果是一个带有0.81%标准错误的近似值
- 耗空间极小, 每个hyperloglog key占用了12K的内存用于标记基数
- pfadd命令不是一次性分配12K内存使用, 会随着基数的增加内存逐渐增大
- Pfmerge命令合并后占用的存储空间为12K, 无论合并之前数据量多少
3. GEO
3.1 GEO类型的基本操作- 添加坐标点
geoadd key longitude latitude member[longitude latitude member...]
- 获取坐标点
geopos key member[member...]
- 计算坐标点距离
geodist key member1 member2[unit]
- 根据坐标求范围内的数据
georadius key longitude latitude radius m|kml ft|mi[with coord] [with dist] [with hash] [count count]
- 根据点求范围内数据
georadius by member key member radius m|km|ft|mi[with coord] [with dist] [with hash] [count count]
- 获取指定点对应的坐标hash值
geohash key member[member...]
相关文章推荐
- redis入门到精通系列(七):redis高级数据类型详解(BitMaps,HyperLogLog,GEO)
- Redis 入门之 数据类型
- 深入理解Redis中五种数据类型总结
- redis简单运用,数据类型,适合入门
- Redis入门和数据类型
- redis快速入门-数据类型
- Redis从入门到放弃 之 常用命令和基本数据类型操作
- Redis入门教程:特性及数据类型的操作
- Redis入门教程:特性及数据类型的操作
- 一天入门redis-安装连接、基本数据类型
- Redis入门到精通-Redis数据类型
- 4、Redis从入门到放弃 之 常用命令和基本数据类型操作
- Delphi初浅入门笔记之六:高级数据类型
- Redis入门之五大数据类型及常用操作
- 深入理解redis数据类型
- redis入门(04)redis的数据类型
- Redis入门指南之数据类型
- Redis入门教程:特性及数据类型的操作
- Redis入门教程(二)—基本数据类型
- Redis学习笔记之入门基础知识——五种数据类型