Redis开发和运维 (4) - 其它功能

慢查询

客户端生命周期

生命周期

两点说明:

  1. 慢查询发生在第3阶段
  2. 客户端超时不一定是慢查询,但是慢查询是客户端超时的一个可能的原因

慢查询的两个配置

slowlog-max-len

它决定 slow log 最多能保存多少条日志, slow log 本身是一个 FIFO 队列,当队列大小超过 slowlog-max-len 时,最旧的一条日志将被删除,而最新的一条日志加入到 slow log

  1. 先进先出队列
  2. 固定长度,队列满后,第一个进入队列的将会被踢出
  3. 保存在内存中

slowlog-log-slower-than

它决定要对执行时间大于多少微秒(microsecond,1秒 = 1,000,000 微秒)的查询进行记录。

  1. 慢查询阈值(单位:微秒)
  2. slowlog-log-slower-than=0,记录所有命令
  3. slowlog-log-slower-than<0,不记录任何命令

配置方法

  • 默认值
1
2
config get slowlog-max-len = 128
config get slowlog-log-slower-than = 10000
  • 修改配置文件重启
  • 动态配置

慢查询命令

  • slowlog get [n]:获取慢查询队列
  • slowlog len:获取慢查询队列长度
  • slowlog reset:清空慢查询队列

运维经验

  • slowlog-max-len 不要设置过大,默认10ms,通常设置1ms
  • slowlog-log-slower-than 不要设置过小,通常设置1000左右
  • 理解命令的生命周期
  • 定期持久化慢查询

pipeline

发布订阅

Bitmap

HyperLogLog

GEO

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :