首頁  >  文章  >  後端開發  >  Redis教學(十二):伺服器管理指令總結

Redis教學(十二):伺服器管理指令總結

黄舟
黄舟原創
2016-12-28 15:09:461184瀏覽

一、概述:

    Redis在設計之初就被定義為長時間不間斷運作的服務進程,因此大多數系統設定參數都可以在不重新啟動進程的情況下立即生效。即便是將目前的持久化模式從AOF切換到RDB也不需要重新啟動。
    在Redis中,提供了一組和伺服器管理相關的命令,其中就包含和參數設定有關的CONFIG SET/GET command。

二、相關指令列表:

。 SAVE設定RDB持久化模式的保存策略執行記憶體資料持久化。如果AOF模式被啟用,則將快取中的資料flush到AOF檔。退出伺服器。 設定RDB持久化模式的保存策略
命令原型 時間複雜度 命令描述 返回值
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




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                #唯一表示
2) (integer) 1330369320 #Unix Timestamp格式所表示的命令執行時間。
3) (integer) 13               #所使用的微秒數。
4) 1) "slowlog"               #以字串陣列的格式輸出所收集到的指令及其參數。
2) "reset" 

以上就是Redis教學(十二):伺服器管理指令總結的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn