zoukankan      html  css  js  c++  java
  • Redis运维的一些常用的命令总结

    最近一直管理部门的一些redis的服务器,所以现在来总结一下redis的一些常用的运维命令:

    1.time  显示服务器的时间,时间戳(秒) 微秒数

    1 redis 127.0.0.1:6380> time  ,显示服务器时间 , 时间戳(秒), 微秒数
    2 1) "1375270361"
    3 2) "504511"

    2.dbsize 显示当前的数据库的key的数量

    1 redis 127.0.0.1:6380> dbsize  // 当前数据库的key的数量
    2 (integer) 2
    3 redis 127.0.0.1:6380> select 2
    4 OK
    5 redis 127.0.0.1:6380[2]> dbsize
    6 (integer) 0
    7 redis 127.0.0.1:6380[2]> 

    3.bgrewriteaof 后台进程重写aof日志文件,这个是手工的强制重写,不需要达到配置文件的参数要求

    1 127.0.0.1:6379> bgrewriteaof
    2 Background append only file rewriting started

    4.bgsave 和 save前者是后台保存rdb的快照,后者是显示的保存rdb的快照,区别是:bgsave会单独的开启一个进程,来进行rdb的保存,在数据量非常大的情况的时候,优势非常的明显。我们一般使用bgsave来进行保存rdb

    1 127.0.0.1:6379> save
    2 OK
    3 127.0.0.1:6379> bgsave
    4 Background saving started

    5.flushall 和 flushdb 分别表示的是 清空所有库的所有键以及清空当前库的所有键

    6.shutdown [save/nosave] 表示的是停止redis的数据库

    一个小的教训:

    在工作中如果不小心运行了flushall,立即执行shutdown nosave 来关闭服务器,然后手工编辑aof的文件,去掉文件中的“flushall”相关行,然后开启服务器,就可以继续导入回原来的数据。

    但如果,flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失!

    7.info memory : 查看redis的内存使用情况

    1 127.0.0.1:6379> info memory
    2 # Memory
    3 used_memory:7855880 // redis实际使用的内存大小
    4 used_memory_rss:16162816 // 操作系统分配给redis的内存大小
    5 mem_fragmentation_ratio:2.06 //上面两者的比例,1.N为最佳,如果此值过大,则说明redis的内存的碎片化较严重,需要再导出导入一次

    8.主从复制的一个具体情况:

    1 127.0.0.1:6379> info replication
    2 # Replication
    3 role:master
    4 connected_slaves:0
    5 master_repl_offset:0
    6 repl_backlog_active:0
    7 repl_backlog_size:1048576
    8 repl_backlog_first_byte_offset:0
    9 repl_backlog_histlen:0

    9.redis的持久化的情况:

     1 127.0.0.1:6379> info persistence
     2 # Persistence
     3 loading:0
     4 rdb_changes_since_last_save:0
     5 rdb_bgsave_in_progress:0
     6 rdb_last_save_time:1438843228
     7 rdb_last_bgsave_status:ok
     8 rdb_last_bgsave_time_sec:0
     9 rdb_current_bgsave_time_sec:-1
    10 aof_enabled:0
    11 aof_rewrite_in_progress:0
    12 aof_rewrite_scheduled:0
    13 aof_last_rewrite_time_sec:0
    14 aof_current_rewrite_time_sec:-1
    15 aof_last_bgrewrite_status:ok
    16 aof_last_write_status:ok

    10.fork耗时:

     1 127.0.0.1:6379> info stats
     2 # Stats
     3 latest_fork_usec:1552 // 上次导出rdb快照 花费的微秒数
     注意:如果某实例有100G内容,导出需要2分钟 每分钟写入10000次,导致不断的rdb导出,磁盘始终处于高的IO状态

    11.slow log的慢查询日志:

     1 注:多慢才叫慢? 
     2 答: 由slowlog-log-slower-than 10000 ,来指定,(单位是微秒)
     3 
     4 服务器储存多少条慢查询的记录?
     5 答: 由 slowlog-max-len 128 ,来做限制
     6 
     7 Info [Replication/CPU/Memory..] 
     8 查看redis服务器的信息
     9 
    10 Config get 配置项  
    11 Config set 配置项 值 (特殊的选项,不允许用此命令设置,如slave-of, 需要用单独的slaveof命令来设置)
    1 config get/set slowlog-log-slower-than
    2 config get/set slowlog-max-len 
    3 slowlog get N 获取慢日志

    12.我们再来看一下如何在运行的状态的时候,更改master-slave的主从状态:

     1 修改一台slave(设为A)为new master 
     2 
     3 1)命令该服务不做其他redis服务的slave 
     4 
     5    命令: slaveof no one 
     6 
     7 2)修改其readonly为yes
     8 
     9 其他的slave再指向new master A
    10 1)命令该服务为new master A 的slave
    11 
    12    命令格式 slaveof  IP  port
  • 相关阅读:
    14个顶级开发社区 [程序员]
    跟我一起学习VIM
    INTRODUCTION TO BIOINFORMATICS
    vim + ctags + taglist配置和使用
    使用Gitblit 在windows 上部署你的Git Server
    HMM基本原理及其实现(隐马尔科夫模型)
    Qt 所有版本官方下载地址
    如何在ubuntu中安装和配置TeX Live ,Texstudio
    PyCharm和Anaconda的区别与联系
    如何在 matlab 和 excel之间进行数据导入导出操作?
  • 原文地址:https://www.cnblogs.com/shangzekai/p/4708022.html
Copyright © 2011-2022 走看看