一、慢查询
声明周期
- 慢查询发生在第三阶段(例如keys命令)
- 客户端超时不一定是慢查询,但慢查询是客户端超时的一个可能因素
(关于慢查询的)两个配置
– slowlog-max-len
- 先进先出队列(慢查询会进入一个队列)
- 固定长度
- 保存在内存中
– slowlog-log-slower-than - 慢查询阈值(单位:微妙)
- slowlog-log-slower-than=0,记录所有命令
- slowlog-log-slower-than<0,不记录任何命令
二、pipeline
流水线
将命令批量发送,非原子操作,只能用在一个redis节点上
三、发布订阅
角色介绍
1.发布者 2.订阅者 3.频道
模型
相关指令 API
publish、subscribe等
四、bitmap(位图)
通过API命令去操作存储数据的位图数据(二进制)
应用
通过bitmap位图操作索引进行记录(不一定就比set少占用空间,需要进行实际存储空间的计算)
五、Hyperloglog
基于Hyperloglog的算法:极小空间完成独立数量的统计
本质是String
常用命令:pfadd、pfcount、pfmerge 等
具有的缺点
- 官方错误率:0.81%
- 取不了单条数据
六、GEO(redis3.2)
GEO(地理信息定位):存储经纬度、计算两地的距离、范围计算等
本质是zset
常用命令:geoadd、geopos、geodist、georedius
应用场景
微信摇一摇(类似),附近酒店餐馆定位