1.redis的慢查询
1.redis命令执行流程
2.慢查询阈值,默认10ms
config set slowlog-log-slower-then 10000 (单位微秒)设置配置文件
config rewrite 将配置文件回写并保存
3.redis慢查询日志查询
redis慢查询日志记录在 showlog 的链表中(内存队列)链表长度由 slowlog-max-len 决定,默认128
showlog get num 查询前面num条慢查询日志
1.日志标识ID 2.执行时间戳 3.执行时间 单位微秒 4.指令 5.执行IP端口 6.服务名
4.生产环境中慢查询配置建议:
1.slowlog-max-len 1000以上
2.slowlog-log-slower-then 1000
2.Pipeline 指令批量处理
RTT:往返时间(网络请求往返时间)
redis中大部分指令操作都花费在了RTT中。可以将多条指令组装成PipeLine,统一处理
3.Redis事务
redis 中的事务是一个弱事务的,只会进行语法异常处理
multi 开启事务
exec 提交事务
Watch机制
4.Lua脚本语言
5.发布订阅
subscribe channel channel ... 订阅消息
publish channel mes 发布消息
这种的发布订阅是简单的,发布及忘记,容易发生消息丢失。在5.0之后新增 Stream 数据结构
1.Stream类型
消息的生产
xadd key * k v k v... key : stream的key ***** :redis生成的ID k, v : Content 消息的内容(k, v 键值对)
xrange key start(-) end(+) start, end : 消息ID
消息的消费
xread count 1 streams key 0-0
xgroup create key group_name 0-0
xreadgroup group group_name con_name count 1 streams key