config 命令实现动态修改配置
config 命令用于查看当前redis配置,以及不重启redis服务实现动态更改redis配置等
注意:不是所有配置都可以动态修改,且此方式无法持久保存
例如:
设置更改客户端连接密码
[root@ubuntu2004 ~]#redis-cli -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
127.0.0.1:6379> config set requirepass 654321
OK
之前的密码就验证失败,需要输入新的密码,不修改配置文件,重启后失效
修改bind
127.0.0.1:6379> config get bind
1) "bind"
2) "0.0.0.0 -::1"
127.0.0.1:6379> config set bind 10.0.0.100
OK
127.0.0.1:6379> config get bind
1) "bind"
2) "10.0.0.100"
ss -ntlp 查看redis远程连接被修改
修改端口
127.0.0.1:6379> config get port
1) "port"
2) "6379"
127.0.0.1:6379> config set port 16379
OK
127.0.0.1:6379> config get port
1) "port"
2) "16379"
ss -ntlp 查看redis端口被修改
查看当前配置
127.0.0.1:6379> config get *
设置 Redis 使用的最大内存量
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "0"
127.0.0.1:6379> config set maxmemory 1g #设置物理内存的一半
OK
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "1000000000"
Redis慢查询(比较慢的查询指令,会导致redis访问缓慢)
redis客户端和服务端的四个阶段
1、客户端发送命令
2、排队
3、服务端执行命令
4、服务端返回结果
慢查询发生在第三阶段
客户端超时不一定是慢查询,但慢查询是客户端超时的一个可能因素
范例:
[root@ubuntu2004 ~]#vim /etc/redis/redis.conf
slowlog-log-slower-than 10000 #单位为微秒us,指定超过1微秒即为慢的指令,默认值为10000us
slowlog-max-len 1024 #指定只保存最近的1024条慢记录,默认值为128
命令行修改慢日志保存数量
127.0.0.1:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "128"
127.0.0.1:6379> config set slowlog-max-len 1024
OK
127.0.0.1:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "1024"
查看慢日志记录的条数
127.0.0.1:6379> slowlog len
(integer) 0 #表示0条
把slowlog-log-slower-than 设为1us,观察慢日志
127.0.0.1:6379> config set slowlog-log-slower-than 1
OK
127.0.0.1:6379> slowlog len
(integer) 1 #查询到的慢日志一条
127.0.0.1:6379> get k2
"v2"
127.0.0.1:6379> slowlog len
(integer) 2 #查询到的慢日志两条
127.0.0.1:6379>
127.0.0.1:6379> slowlog get [] #查看慢日志的最近n条记录,默认为10
1) 1) (integer) 2
2) (integer) 1667201952
3) (integer) 3 #第三行为服务端执行命令时间3微秒
4) 1) "slowlog"
2) "len"
5) "127.0.0.1:45774"
6) ""
清空慢查询
127.0.0.1:6379> slowlog reset
OK