redis运维常用命令
命令
time 查看时间戳与微秒数
dbsize 查看当前数据库有多少key
bgrewriteaof 后台进程重写aof
bgsave 后台保存rdb快照
lastsave 上次保存时间
slaveof master-host port 把当前实例设置为master的slave
flushall 清空所有库所有键
flushdb 清空当前所有键
shutdown [""|save|nosave] 断开链接,关闭服务器
slowlog get 显示慢查询
info 显示服务器信息
config get 获取配置信息
config set 设置配置信息
monitor 打开控制台
sync 主从同步
client list 客户端列表
client kill 关闭某个客户端
client setname 为客户端设置名字
client getname 获取客户端名字
问题
如果不小心运行了flushall, 立即shutdown nosave 关闭服务器,然后手动编辑aof文件,去掉文件中的“flashall" 相关行,然后开启服务器,就可以导入回原来数据
# 如果flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失
slowlog 显示慢查询
多慢才叫慢?
由slowlog-log-slower-than 10000,来指定(单位是微妙)
服务器存储多少条慢查询的记录
# 由 slowlog-max-len 128 来做限制
redis 运维时需要注意的参数
### 内存
used_memory: 859192 由redis分配器分配的内存总量
used_memory_rss: 7634944 向操作系统申请的内存大小
mem_fragmentation_ratio: 1.16 碎片率,used_memory_rss/used_memory(正常情况下是1左右,如果大于1比如1.8说明内存碎片很严重了)
主从复制
replication
role: slave
master_host: xxx.xxx.xxx.xxx
master_port: 6379
master_link_status: up
持久化
persistence
rdb_change_since_last_save: 0
rdb_last_save_time: 1375224063
fork耗时
status
latest_fork_usec:936 上次导出rdb快照,持久化花费微妙
注意: 如果实例有10G内容,导出需要2分钟
每分钟写入10000次,导致不断地rdb导出,磁盘处于高IO状态
慢日志
config set/get slowlog-log-slower-than
config get/set slowlog-max-len
slowlog get 获取慢日志
标签:运维,get,redis,常用命令,slowlog,master,rdb,config
From: https://www.cnblogs.com/kkit/p/18358439