一、概述
Redis在設計之初就被定義爲長時間不間斷運行的服務進程,因此大多數系統配置參數都可以在不重新啓動進程的情況下立即生效。即便是將當前的持久化模式從AOF切換到RDB也無需重啓。
在Redis中,提供了一組和服務器管理相關的命令,其中就包含和參數設置有關的CONFIG SET/GET command。
二、相關命令列表
命令格式 | 命令描述 | 返回值 |
INFO [section] | 獲取Redis服務器運行狀態相關統計信息,section相關參數包含如下: 1、server:顯示Redis服務器信息,包含redis_version、os、arch_bits、gcc_versi on、process_id、tcp_port、uptime_in_seconds等 2、clients:顯示已連接客戶端信息,包含有connected_clients、client_longest_o utput_list、client_longest_input_buf、blocked_clients等 3、memory:顯示內存統計信息,包含有used_memory、used_memory_human、used_memory_ rss、used_memory_peak、used_memory_peak_human、used_memory_lua、mem_ fragmentation_ratio、mem_allocator等 4、persistent:顯示RDB和AOF相關統計信息 5、stats:顯示一般統計信息 6、replication:顯示主從複製信息 7、cpu:顯示cpu計算量統計信息 8、commandstats:顯示redis命令統計信息 9、cluster:顯示集羣相關統計信息 10、keyspace:顯示數據庫相關統計信息 11、all:顯示所有的Redis統計信息 12、default:顯示默認選擇的統計信息 示例如:info all;info replication | |
FLUSHALL | 清空Redis所有數據庫中的所有key | OK |
FLUSHDB | 清空當前數據庫中的所有key | OK |
DBSIZE | 返回當前數據庫的key的數量 | |
SLAVEOF host port | 該命令用於在Redis 運行時動態地修改複製(replication)功能的行爲。如果一個Redis服務器已經處於SLAVE狀態,SLAVEOF NO ONE命令將關閉當前服務器的被複制狀態,與此同時將該服務器切換到MASTER狀態。該命令的參數將指定MASTER服務器的監聽IP和端口。還有一種情況是,當前服務器已經是另外一臺MASTER的SLAVE了,在執行該命令後,當前服務器將終止和之前MASTER之間的複製關係,而將成爲新MASTER的SLAVE,之前MASTER中的數據也將被清空,改爲新MASTER中的數據。然而如果在當前SLAVE服務器上執行的是SLAVEOF NO ONE命令,那麼該服務器只是中斷與當前MASTER的複製關係,並升級爲獨立的MASTER,其中的數據也不會被清空。 示例:SLAVEOF 10.23.16.226 6579 ;SLAVEOF NO ONE | OK |
CONFIG GET parameter | 該命令用於獲取Redis服務器的運行配置參數。在2.4版本中,該命令有部分參數無法獲取,但是在2.6版本以後所有參數都可以獲取。該命令接受glob風格的模式匹配規則,因此如果參數中包含模式元字符,那麼所有匹配的參數都將以key/value方式被列出。如果參數是*,那麼該命令支持的所有參數都將被列出。最後需要指出的是,和redis.conf中不同的是,在命令中不能使用數量縮寫格式,如GB、KB等,只能使用表示字節數量的整數值。 示例:CONFIG GET s* -- 服務器就會返回所有以 s 開頭的配置參數及參數的值 | |
CONFIG SET parameter value | 該命令可以動態地調整 Redis 服務器的配置而無須重啓。有些Redis版本可能存在有些參數不能修改,如果需要獲悉該命令支持哪些參數,可以查看CONFIG GET * 命令的執行結果。如果想在一個命令中設置多個同類型參數,如redis.conf配置文件中的save參數:save 900 1/save 300 10。在該命令中我們可以將多個key/value用雙引號括起,並用空格符隔開,如:config set save "900 1 300 10"。 | 正常返回OK 否則報錯 |
CONFIG RESETSTAT | 重置INFO命令中的某些統計數據,包含有:
| OK |
SAVE | 執行一次同步保存操作,將當前Redis實例的所有數據快照以RDB文件形式保存到硬盤。注意:一般情況下不要執行SAVE命令,因爲它會阻塞所有客戶端,保存數據庫的任務通常由BGSAVE命令異步執行。但是當保存數據的後臺進程不幸出現問題時,SAVE可以作爲保存數據的最後手段來使用。 | OK |
LASTSAVE | 返回最近一次 Redis 成功將數據保存到磁盤上的時間,以 UNIX 時間戳格式表示 | 一個UNIX時間戳 |
SHUTDOWN [SAVE|NOSAVE] | SHUTDOWN命令執行以下操作:
修飾詞SAVE、NOSAVE:
| 失敗返回錯誤信息; 正常無任何信息反饋 |
TIME | 返回當前服務器時間,示例: redis > time 1) "1332395997" #當前時間(以 UNIX 時間戳格式表示) 2) "952581" #當前這一秒鐘已經逝去的微秒數 | |
MONITOR | 實時打印出Redis服務器接收到的命令,調試用 | OK |
SLOWLOG | Slow log是Redis用來記錄查詢執行時間的日誌系統(執行時間是指不包括像客戶端響應(talking)、發送回覆等IO操作,而單單是執行一個查詢命令所耗費的時間);Slow log的行爲由兩個配置參數指定,可以通過改寫redis.conf或者用CONFIG GET和 CONFIG SET命令對它們動態地進行查看修改:
以下爲SLOWLOG的一些命令示例:
|
ps:暫時整理到這裏,後續持續更新