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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM