一、概述:
Redis在設計之初就被定義為長時間不間斷啟動並執行服務進程,因此大多數系統配置參數都可以在不重新啟動進程的情況下立即生效。即便是將當前的持久化模式從AOF切換到RDB也無需重啟。
在Redis中,提供了一組和伺服器管理相關的命令,其中就包含和參數設定有關的CONFIG SET/GET command。
二、相關命令列表:
命令原型 |
時間複雜度 |
命令描述 |
傳回值 |
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檔案。退出伺服器。 設定RDB持久化模式的儲存策略 |
|
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" |
|
以上就是Redis教程(十二):伺服器管理命令總結的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!