Redis从入门到高可用分布式实践4其他功能
第4章 瑞士军刀Redis其他功能
除了5种数据结构外,Redis还提供了诸如慢查询、Pipeline、Bitmap、HyperLogLog、发布订阅、GEO等附加功能,在这些功能的帮助下,Redis的应用场景更加丰富。
4-1 课程目录
4-2 慢查询
4-3 pipeline
4-4 发布订阅
4-5 bitmap
4-6 hyperloglog
4-7 geo
4-1 课程目录
慢查询
pipeline
发布订阅
Bitmap
HyperLogLog
GEO
4-2 慢查询
生命周期 两个配置 三个命令 运维经验
生命周期
两个配置-showlog-max-len
两个配置-showlog-log-slower-than
配置方法
慢查询命令
运维经验
4-3 pipeline
流水线功能
什么是流水线 客户端实现 与原生操作对比 使用建议
1次网络通信模型
多个命令
批量网络命令通信模型
命令时间从超快?
网络时间会不确定,可能会很慢。
什么是流水线
流水线作用
pipeline-Jedis实现
hmset只能针对一个key进行,而这里是执行了1万个不同的key
每次发送100个命令,做100次发送
与远程M操作
使用建议
1.注意每次pipeline携带数据量
2.pipeline每次只能作用在一个Redis节点上
3.M操作和pipeline的区别
4-4 发布订阅
角色 模型 API 发布订阅与消息队列
角色
:发布者(publisher)、订阅者(subscriber)、频道(channel) 发布者发布消息到频道上,订阅者订阅频道就会收到消息
模型
:
每个订阅者可以订阅多个频道
一旦发布者发送消息后,所有的订阅者都能收到消息
API
publish
unsubscribe
subscribe
其他
publish
发布命令
unsubscribe
取消阿订阅
subscribe
订阅
其他
按照模式订阅,订阅以V开头的
消息队列
抢的模式,发布者发布一条,只有一个订阅者能够收到
阻塞,推拉模型
全部清除,三个人抢红包,只有一个人抢到就完了
发布订阅总结
4-5 bitmap
位图 相关命令 独立用户统计
位图
setbit
geybit
bitcount
bitop
bitops
独立用户统计
使用经验
4-6 hyperloglog
新的数据结构? 三个命令 内存消耗 使用经验
hyperloglog
三个命令
例子
内存消耗(百万独立用户)
使用经验
比如说,都有哪些独立用户?做不到
4-7 geo
geo是什么 5个城市经纬度 相关命令 相关说明
应用场景
指定范围内的用户、好友、餐馆、酒店