Redis常用的管理命令:
BGREWRITEAOF
非同步(Asynchronously)重寫 AOF 檔案以反應當前資料庫的狀態。
即使 BGREWRITEAOF 命令執行失敗,舊 AOF 檔案中的資料也不會因此丟失或改變。 BGSAVE
在後台非同步儲存當前資料庫的資料到磁碟。
BGSAVE命令執行之後立即返回 OK ,然後 Redis fork出一個新子進程,原來的 Redis 進程(父進程)繼續處理用戶端請求,而子進程則負責將資料儲存到磁碟,然後退出。
用戶端可以通過 LASTSAVE 命令查看相關資訊,判斷 BGSAVE 命令是否執行成功。
SAVE
同步儲存當前資料庫的資料到磁碟。
LASTSAVE
返回最近一次 Redis 成功執行儲存操作的時間點( SAVE 、 BGSAVE 等),以 UNIX 時間戳記格式表示。
DBSIZE
返回當前資料庫的 key 的數量。
SLAVEOF
SLAVEOF host port
SLAVEOF命令用於在 Redis 運行時動態地修改複製(replication)功能的行為。
通過執行 SLAVEOF host port 命令,可以將當前伺服器轉變為指定伺服器的從屬伺服器(slave server)。
如果當前伺服器已經是某個主伺服器(master server)的從屬伺服器,那麼執行 SLAVEOF host port 將使當前伺服器停止對舊主伺服器的同步,丟棄舊資料集,轉而開始對新主伺服器進行同步。
另外,對一個從屬伺服器執行命令 SLAVEOF NO ONE 將使得這個從屬伺服器關閉複製功能,並從從屬伺服器轉變回主伺服器,原來同步所得的資料集不會被丟棄。
利用“ SLAVEOFNOONE 不會丟棄同步所得資料集”這個特性,可以在主伺服器失敗的時候,將從屬伺服器用作新的主伺服器,從而實現無間斷運行。
FLUSHALL
清空整個 Redis 伺服器的資料(刪除所有資料庫的所有 key)。
此命令從不失敗。
FLUSHDB
清空當前資料庫中的所有 key 。
此命令從不失敗。
SHUTDOWN
SHUTDOWN命令執行以下操作: 停止所有用戶端 如果有最少一個儲存點在等待,執行 SAVE 命令 如果 AOF 選項被開啟,更新 AOF 檔案 伺服器關閉
如果持久化被開啟的話, SHUTDOWN 命令會保證伺服器正常關閉而不丟失任何資料。
假如只是單純地執行 SAVE 命令,然後再執行 QUIT 命令,則沒有這一保證 —— 因為在執行 SAVE 之後、執行 QUIT 之前的這段時間中間,其他用戶端可能正在和伺服器進行通訊,這時如果執行 QUIT 就會造成資料丟失。
SLOWLOG
SLOWLOG subcommand [argument]
什麼是 SLOWLOG
Slow log 是 Redis 用來記錄查詢執行時間的日誌系統。
查詢執行時間指的是不包括像用戶端響應(talking)、發送回複等 IO 操作,而單單是執行一個查詢命令所耗費的時間。
另外,slow log 儲存在記憶體裡面,讀寫速度非常快,因此你可以放心地使用它,不必擔心因為開啟 slow log 而損害 Redis 的速度。
設定 SLOWLOG
Slow log 的行為由兩個配置參數(configuration parameter)指定,可以通過改寫 redis.conf 檔案或者用 CONFIG GET 和 CONFIG SET 命令對它們動態地進行修改。
第一個選項是 slowlog-log-slower-then ,它決定要對執行時間大於多少微秒(microsecond,1秒 = 1,000,000 微秒)的查詢進行記錄。
比如執行以下命令將讓 slow log 記錄所有查詢時間大於等於 100 微秒的查詢:
CONFIG SET slowlog-log-slower-then 100 ,
而以下命令記錄所有查詢時間大於 1000 微秒的查詢:
CONFIG SET slowlog-log-slower-then 1000 。
另一個選項是 slowlog-max-len ,它決定 slow log 最多能儲存多少條日誌, slow log 本身是一個 LIFO 隊列,當隊列大小超過 slowlog-max-len 時,最舊的一條日誌將被刪除,而最新的一條日誌加入到 slow log ,以此類推。
以下命令讓 slow log 最多儲存 1000 條日誌:
CONFIG SET slowlog-max-len 1000 。
使用 CONFIG GET 命令可以查詢兩個選項的當前值:
redis> CONFIG GET slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "1000"
redis> CONFIG GET slowlog-max-len
1) "slowlog-max-len"
2) "1000"
查看 slow log
要查看 slow log ,可以使用 SLOWLOG GET 或者 SLOWLOG GET number 命令,前者列印所有 slow log ,最大長度取決於 slowlog-max-len 選項的值,而 SLOWLOG GET number 則只列印指定數量的日誌。
日誌的唯一 id 只有在 Redis 伺服器重啟的時候才會重設,這樣可以避免對日誌的重複處理(比如你可能會想在每次發現新的慢查詢時發郵件通知你)。
查看當前日誌的數量
使用命令 SLOWLOG LEN 可以查看當前日誌的數量。
請注意這個值和 slower-max-len 的區別,它們一個是當前日誌的數量,一個是允許記錄的最大日誌的數量。
清空日誌
使用命令 SLOWLOG RESET 可以清空 slow log 。
INFO
返回關於 Redis 伺服器的各種資訊和統計值。
CONFIG GET parameter
CONFIG GET命令用於取得運行中的 Redis 伺服器的配置參數(configuration parameters),不過並非所有配置參數都被 CONFIG GET 命令所支援。
CONFIG GET接受單個參數 parameter 作為搜尋索引鍵,尋找所有匹配的配置參數,其中參數和值以“鍵-值對”(key-value pairs)的方式排列。
比如執行 CONFIG GET s* 命令,伺服器就會返回所有以 s 開頭的配置參數及參數的值:
CONFIG SET parameter value
CONFIG SET命令可以動態地調整 Redis 伺服器的配置(configuration)而無須重啟。
你可以使用它修改配置參數,或者改變 Redis 的持久化(Persistence)方式。
CONFIG SET可以修改的配置參數可以使用命令 CONFIG GET * 來列出,所有被 CONFIG SET 修改的配置參數都會立即生效。
CONFIG RESETSTAT
重設 INFO 命令中的某些統計資料,包括: Keyspace hits (鍵空間叫用次數) Keyspace misses (鍵空間不叫用次數) Number of commands processed (執行命令的次數) Number of connections received (串連伺服器的次數) Number of expired keys (到期key的數量)
DEBUG OBJECT key
返回給定 key 的調試資訊。
DEBUG SEGFAULT
令 Redis 伺服器崩潰,調試用。
MONITOR
即時列印出 Redis 伺服器接收到的命令,調試用。
SYNC
用於複製功能(replication)的內部命令。