1、把redis安装成服务交由systemd进程来统一管理
首先,新建一个系统服务文件:
vim /etc/systemd/system/redis.service
内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后重载系统服务:
systemctl daemon-reload
这种写法支持systemd进程统一管理,基于chkconfig的写法,并不能由systemd进程来统一管理。
2、启动redis服务
#指定配置文件
redis-server redis.conf
#通过服务的形式启动redis,前提是支持systemd进程统一管理
systemctl start redis
3、停止
systemctl stop redis
4、重启
systemctl restart redis
5、 查看状态
systemctl status redis
6、redis-cli连接服务端
redis-cli -h localhost -p 6379
#如果有密码,需要连接密码
auth 密码
7、查找大key
redis-cli -h 192.168.1.102 -a 123456 --bigkeys
8、redis动态修改密码
只是临时修改,重启之后就不生效了
# 进入redis客户端执行以下命令
config get requirepass
9、redis相关连接数
#查看redis信息
info
# 查看客户端连接数
info clients
10、慢查询排查
#查看慢日志的相关配置
config get slow*
- slowlog-log-slower-than:10000【微妙】 表示只有query执行时间大于10000的才会定义成慢查询被slowlog进行记录,默认是10000微妙,也就是10ms
- slowlog-max-len:128 表示慢查询记录的最大的条数,当slowlog超过设定的最大值后,会将最早的slowlog删除,是个FIFO队列
可通过以下命令临时设置慢查询时间1毫秒,重启之后失效
config set slowlog-log-slower-than 1000
获取最近的50条慢查询日志: slowlog get 50
解释:
- (integer) 15 : 慢日志的id,从0开始
- (integer) 1692413841,慢日志时间戳,通过date -d @1692413841 可以查看可读的日期格式
- (integer) 90 慢日志一共运行的时间
-
- “CONFIG” 产生慢日志的命令
- “SET”
- “slowlog-log-filter”
- “hmset hscan”
#查看慢日志的条数
slowlog len
#清空慢日志
slowlog reset
11、ttl超期查看
#设置10之后超期自动删除
set name haha ex 10
#设置了超期之后,如果再对同一个key执行set命令,后面没有超期参数,则key就永不过期
set name hello
# 通过expire key value再设置过期时间
expire name hello
# ttl查看还有多久超期自动删除: -1表示永久生效 -2代表已回收删除
ttl name