### 生命周期
![](https://box.kancloud.cn/5978605689847b5769587ab48dd8fd63_873x386.png)
### 两个配置
1. **slowlog-max-len**队列长度
* 慢查询是一个先进先出的队列.
* 这个队列是一个固定长度.
* 保存在内存内 . 读取速度非常快 .
![](https://box.kancloud.cn/20a4eb5b82d93060ff9a238e2fce5ceb_1016x494.png)
2. **slowlog-los-slower-than**
* 慢查询阈值(单位 : 微秒) .
* slowlos-los-slower-than = 0 , 记录所有命令 , 通常不这么做 .
* slowlog-log-slower-than < 0 , 不记录任何命令 .
*
3. **默认值**
* config get slowlog-max-len = 128 .
* config get slowlog-slower-than = 10000 //当执行命令大于10000微秒(10毫秒)
### 动态配置
~~~
127.0.0.1:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "128"
127.0.0.1:6379> config get slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000"
~~~
### 配置方法
1. 修改配置文件 , 如果服务已经启动, 不建议这么做, 因为要重启服务器 .
2. 动态配置 , 可以通过动态配置的方法来设置慢查询的阈值.
* config set slowlog-ma-len 1000
* config set slowlog-log-slower-than 1000
### 三个命令
获取慢查询队列条数
~~~
slowlog get [n]
~~~
获取慢查询队列长度
~~~
slowlog len
~~~
清空慢查询
~~~
slowlog reset
~~~
### 运维经验
1. slowlog-max-len ,队列长度不要设置过小,通常设置1000左右 . 因为重启服务器,慢查询就会丢失,而且这个慢查询是一个队列,当条数过多之后, 之前进入队列的记录就会丢失 ;
2. slowlog-los-slower-than不要设置过大,默认10ms,通常设置1ms ;
3. 理解命令生命周期 ;
4. 定期持久化慢查询(持久到MySQL) ;
- Redis简介
- 简介
- 典型应用场景
- Redis安装
- 安装
- redis可执行文件说明
- 三种启动方法
- Redis常用配置
- API的使用和理解
- 通用命令
- 数据结构和内部编码
- 单线程
- 数据类型
- 字符串
- 哈希
- 列表
- 集合
- 有序集合
- Redis常用功能
- 慢查询
- Pipline
- 发布订阅
- Bitmap
- Hyperloglog
- GEO
- 持久化机制
- 概述
- snapshotting快照方式持久化
- append only file追加方式持久化AOF
- RDB和AOF的抉择
- 开发运维常见问题
- fork操作
- 子进程外开销
- AOF追加阻塞
- 单机多实例部署
- Redis复制原理和优化
- 什么是主从复制
- 主从复制配置
- 全量复制和部分复制
- 故障处理
- 开发运维常见问题
- Sentinel
- 主从复制高可用
- 架构说明
- 安装配置
- 客户端连接
- 实现原理
- 常见开发运维问题
- 高可用读写分离
- 故障转移client怎么知道新的master地址
- 总结
- Sluster
- 呼唤集群
- 数据分布
- 搭建集群
- 集群通信
- 集群扩容
- 集群缩容
- 客户端路由
- 故障转移
- 故障发现
- 故障恢复
- 开发运维常见问题
- 缓存设计与优化
- 缓存收益和成本
- 缓存更新策略
- 缓存粒度控制
- 缓存穿透优化
- 缓存雪崩优化
- 无底洞问题优化
- 热点key重建优化
- 总结
- 布隆过滤器
- 引出布隆过滤器
- 布隆过滤器基本原理
- 布隆过滤器误差率
- 本地布隆过滤器
- Redis布隆过滤器
- 分布式布隆过滤器
- 开发规范
- 内存管理
- 开发运维常见坑
- 实战
- 对文章进行投票
- 数据库的概念
- 启动多实例