07.config 命令实现动态修改配置和慢查询
config 命令实现动态修改配置
config 命令用于查看当前redis配置、以及不重启redis服务实现动态更改redis配置等
**注意:**不是所有配置都可以动态修改,且此方式无法持久保存
CONFIG SET parameter value CONFIG SET 命令可以动态地调整 Redis 服务器的配置(configuration)而无须重启。可以使用它修改配置参数,或者改变 Redis 的持久化(Persistence)方式。CONFIG SET 可以修改的配置参数,可以使用命令 CONFIG GET * 来列出,所有被 CONFIG SET 修改的配置参数都会立即生效。
CONFIG GET parameterCONFIG GET 命令用于取得运行中的 Redis 服务器的配置参数(configuration parameters),在 Redis 2.4 版本中, 有部分参数没有办法用 CONFIG GET 访问,但是在最新的 Redis 2.6 版本中,所有配置参数都已经可以用 CONFIG GET 访问了。CONFIG GET 接受单个参数 parameter 作为搜索关键字,查找所有匹配的配置参数,其中参数和值以“键值对”(key-value pairs)的方式排列。
比如执行 CONFIG GET s* 命令,服务器就会返回所有以 s 开头的配置参数及参数的值:# 查看连接密码
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"# 查看bind
127.0.0.1:6379> config get bind
1) "bind"
2) "0.0.0.0"# 奇数行为键,偶数行为值
127.0.0.1:6379> config get *
慢查询
慢查询发生在执行命令阶段
客户端超时不一定是慢查询,但慢查询是客户端超时的一个可能
[root@ubuntu2204 etc]#pwd
/apps/redis/etc
[root@ubuntu2204 etc]#vim redis.conf
# 修改为超过1us即为慢的指令便于测试观察
slowlog-log-slower-than 1[root@ubuntu2204 etc]#systemctl restart redis[root@ubuntu2204 etc]#redis-cli -a 123456
# 查看慢日志的记录条数
127.0.0.1:6379> slowlog len
(integer) 5# 查看慢日志的最近n条记录,默认为10
127.0.0.1:6379> slowlog get
1) 1) (integer) 52) (integer) 1751003145 # 表示命令执行的时间戳,距离1970-1-1的秒数,date -d +@1544690617 可以转换3) (integer) 3 # 表示每条指令的执行时长4) 1) "slowlog"2) "len"5) "127.0.0.1:44430"6) ""# 清空慢日志
127.0.0.1:6379> SLOWLOG RESET