redis运维常用命令

1、命令:

time              查看时间戳与微秒数
dbsize             查看当前数据库有多少key
bgrewriteaof     后台进程重写aof
bgsave             后台保存rdb快照
save             保存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  获取客户端名字

2、问题

如果不小心运行了flushall ,立即shutdown nosave 关闭服务器,然后手动编辑aof文件,去掉文件中的"flashall"相关行,然后开启服务器,就可以导入回原来数据
#如果flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失

slowlog显示慢查询
多慢才叫慢?
#由slowlog-log-slower-than 10000,来指定(单位是微秒)

服务器存储多少条慢查询的记录?
#由 slowlog-max-len 128  来做限制

3、redis运维时需要注意的参数

  • 内存

    memory
    used_memory:859192 数据结构的空间
    used_memory:7634944 实占空间
    mem_fragmentaion_ratio:8.89 前2者的比例,1 N为最佳,如果此值过大,说明redis的内存的碎片化严重,可以导出再导入一次
    
  • 主从复制

    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 获取慢日志
    

results matching ""

    No results matching ""