1、概述:
Redis在設計之初就被定義爲長時間不間斷運行的服務進程,所以大多數系統配置參數均可以在不從新啓動進程的狀況下當即生效。即使是將當前的持久化模式從AOF切換到RDB也無需重啓。
在Redis中,提供了一組和服務器管理相關的命令,其中就包含和參數設置有關的CONFIG SET/GET command。
2、相關命令列表:redis
命令原型 | 時間複雜度 | 命令描述 | 返回值 |
CONFIGGETparameter | 主要用於讀取服務器的運行時參數,可是並非全部的配置參數均可以經過該命令進行讀取。其中該命令的參數接受glob風格的模式匹配規則,所以若是參數中包含模式元字符,那麼全部匹配的參數都將以key/value方式被列出。若是參數是*,那麼該命令支持的全部參數都將被列出。最後須要指出的是,和redis.conf中不一樣的是,在命令中不能使用數量縮寫格式,如GB、KB等,只能使用表示字節數量的整數值。 | ||
CONFIG SETparameter value | 該命令用於從新配置Redis服務器的運行時參數,在設置成功以後無需重啓即可生效。然而並不是全部的參數均可以經過該命令進行動態設置,若是須要獲悉該命令支持哪些參數,能夠查看CONFIG GET * 命令的執行結果。若是想在一個命令中設置多個同類型參數,如redis.conf配置文件中的save參數:save 900 1/save 300 10。在該命令中咱們能夠將多個key/value用雙引號括起,並用空格符隔開,如:config set save "900 1 300 10"。 | OK表示設置成功,不然返回相關的錯誤信息。 | |
CONFIG RESETSTAT | O(1) | Reset INFO命令給出的統計數字。 | 始終返回OK。 |
DBSIZE | 返回當前打開的數據庫中Keys的數量。 | Key的數量。 | |
FLUSHALL | 清空當前服務器管理的數據庫中的全部Keys,不只限於當前打開的數據庫。 | ||
FLUSHDB | 清空當前數據庫中的全部Keys。 | ||
INFO | 獲取和服務器運行情況相關的一些列統計數字。 | ||
SAVE | 設置RDB持久化模式的保存策略。 | ||
SHUTDOWN | 中止全部的客戶端,同時以阻塞的方式執行內存數據持久化。若是AOF模式被啓用,則將緩存中的數據flush到AOF文件。退出服務器。 | ||
SLAVEOFhost port | 該命令用於修改SLAVE服務器的複製設置。若是一個Redis服務器已經處於SLAVE狀態,SLAVEOF NO ONE命令將關閉當前服務器的被複制狀態,與此同時將該服務器切換到MASTER狀態。該命令的參數將指定MASTER服務器的監聽IP和端口。還有一種狀況是,當前服務器已是另一臺MASTER的SLAVE了,在執行該命令後,當前服務器將終止和以前MASTER之間的複製關係,而將成爲新MASTER的SLAVE,以前MASTER中的數據也將被清空,改成新MASTER中的數據。然而若是在當前SLAVE服務器上執行的是SLAVEOF NO ONE命令,那麼該服務器只是中斷與當前MASTER的複製關係,並升級爲獨立的MASTER,其中的數據也不會被清空。 | ||
SLOWLOGsubcommand [argument] | 該命令主要用於讀取執行時間較長的命令。其中執行時間的評判標準僅爲命令自己的執行時間,並不包括網絡交互時間。和該命令相關的配置參數主要有兩個,第一個就是執行之間的閾值(以微秒爲單位),即執行時間超過該值的命令都會被存入slowlog隊列,以供該命令讀取。第二個是slowlog隊列的長度,若是當前命令在存入以前,該隊列中的命令已經等於該參數,在命令進入以前,須要將隊列中最老的命令移出隊列。這樣能夠保證該隊列所佔用的內存總量保持在一個相對恆定的大小。因爲slowlog隊列不會被持久化到磁盤,所以Redis在收集命令時不會對性能產生很大的影響。一般咱們能夠將參數"slowlog-log-slower-than"設置爲0,以便收集全部命令的執行時間。該命令還包含如下幾個子命令: 1). SLOWLOG GET N: 從slowlog隊列中讀取命令信息,N表示最近N條命令的信息。 2). SLOWLOG LEN:獲取slowlog隊列的長度。 3). SLOWLOG RESET:清空slowlog中的內容。 最後給出SLOWLOG GET命令返回信息的解釋。 redis 127.0.0.1:6379> slowlog get 10 1) 1) (integer) 5 #惟一表示符,在Redis重啓以前,該值保證惟一。 2) (integer) 1330369320 #Unix Timestamp格式表示的命令執行時間。 3) (integer) 13 #命令執行所用的微秒數。 4) 1) "slowlog" #以字符串數組的格式輸出收集到的命令及其參數。 2) "reset" |