Redis教程(十二):服務(wù)器管理命令總結(jié)
更新時間:2015年04月30日 12:03:41 投稿:junjie
這篇文章主要介紹了Redis教程(十二):服務(wù)器管理命令總結(jié),本文講解了CONFIGGETparameter、CONFIG SETparameter value、FLUSHALL等命令,需要的朋友可以參考下
一、概述:
Redis在設(shè)計之初就被定義為長時間不間斷運行的服務(wù)進(jìn)程,因此大多數(shù)系統(tǒng)配置參數(shù)都可以在不重新啟動進(jìn)程的情況下立即生效。即便是將當(dāng)前的持久化模式從AOF切換到RDB也無需重啟。
在Redis中,提供了一組和服務(wù)器管理相關(guān)的命令,其中就包含和參數(shù)設(shè)置有關(guān)的CONFIG SET/GET command。
二、相關(guān)命令列表:
命令原型 | 時間復(fù)雜度 | 命令描述 | 返回值 |
CONFIGGETparameter | 主要用于讀取服務(wù)器的運行時參數(shù),但是并不是所有的配置參數(shù)都可以通過該命令進(jìn)行讀取。其中該命令的參數(shù)接受glob風(fēng)格的模式匹配規(guī)則,因此如果參數(shù)中包含模式元字符,那么所有匹配的參數(shù)都將以key/value方式被列出。如果參數(shù)是*,那么該命令支持的所有參數(shù)都將被列出。最后需要指出的是,和redis.conf中不同的是,在命令中不能使用數(shù)量縮寫格式,如GB、KB等,只能使用表示字節(jié)數(shù)量的整數(shù)值。 | ||
CONFIG SETparameter value | 該命令用于重新配置Redis服務(wù)器的運行時參數(shù),在設(shè)置成功之后無需重啟便可生效。然而并非所有的參數(shù)都可以通過該命令進(jìn)行動態(tài)設(shè)置,如果需要獲悉該命令支持哪些參數(shù),可以查看CONFIG GET * 命令的執(zhí)行結(jié)果。如果想在一個命令中設(shè)置多個同類型參數(shù),如redis.conf配置文件中的save參數(shù):save 900 1/save 300 10。在該命令中我們可以將多個key/value用雙引號括起,并用空格符隔開,如:config set save "900 1 300 10"。 | OK表示設(shè)置成功,否則返回相關(guān)的錯誤信息。 | |
CONFIG RESETSTAT | O(1) | Reset INFO命令給出的統(tǒng)計數(shù)字。 | 始終返回OK。 |
DBSIZE | 返回當(dāng)前打開的數(shù)據(jù)庫中Keys的數(shù)量。 | Key的數(shù)量。 | |
FLUSHALL | 清空當(dāng)前服務(wù)器管理的數(shù)據(jù)庫中的所有Keys,不僅限于當(dāng)前打開的數(shù)據(jù)庫。 | ||
FLUSHDB | 清空當(dāng)前數(shù)據(jù)庫中的所有Keys。 | ||
INFO | 獲取和服務(wù)器運行狀況相關(guān)的一些列統(tǒng)計數(shù)字。 | ||
SAVE | 設(shè)置RDB持久化模式的保存策略。 | ||
SHUTDOWN | 停止所有的客戶端,同時以阻塞的方式執(zhí)行內(nèi)存數(shù)據(jù)持久化。如果AOF模式被啟用,則將緩存中的數(shù)據(jù)flush到AOF文件。退出服務(wù)器。 | ||
SLAVEOFhost port | 該命令用于修改SLAVE服務(wù)器的復(fù)制設(shè)置。如果一個Redis服務(wù)器已經(jīng)處于SLAVE狀態(tài),SLAVEOF NO ONE命令將關(guān)閉當(dāng)前服務(wù)器的被復(fù)制狀態(tài),與此同時將該服務(wù)器切換到MASTER狀態(tài)。該命令的參數(shù)將指定MASTER服務(wù)器的監(jiān)聽IP和端口。還有一種情況是,當(dāng)前服務(wù)器已經(jīng)是另外一臺MASTER的SLAVE了,在執(zhí)行該命令后,當(dāng)前服務(wù)器將終止和之前MASTER之間的復(fù)制關(guān)系,而將成為新MASTER的SLAVE,之前MASTER中的數(shù)據(jù)也將被清空,改為新MASTER中的數(shù)據(jù)。然而如果在當(dāng)前SLAVE服務(wù)器上執(zhí)行的是SLAVEOF NO ONE命令,那么該服務(wù)器只是中斷與當(dāng)前MASTER的復(fù)制關(guān)系,并升級為獨立的MASTER,其中的數(shù)據(jù)也不會被清空。 | ||
SLOWLOGsubcommand [argument] | 該命令主要用于讀取執(zhí)行時間較長的命令。其中執(zhí)行時間的評判標(biāo)準(zhǔn)僅為命令本身的執(zhí)行時間,并不包括網(wǎng)絡(luò)交互時間。和該命令相關(guān)的配置參數(shù)主要有兩個,第一個就是執(zhí)行之間的閾值(以微秒為單位),即執(zhí)行時間超過該值的命令都會被存入slowlog隊列,以供該命令讀取。第二個是slowlog隊列的長度,如果當(dāng)前命令在存入之前,該隊列中的命令已經(jīng)等于該參數(shù),在命令進(jìn)入之前,需要將隊列中最老的命令移出隊列。這樣可以保證該隊列所占用的內(nèi)存總量保持在一個相對恒定的大小。由于slowlog隊列不會被持久化到磁盤,因此Redis在收集命令時不會對性能產(chǎn)生很大的影響。通常我們可以將參數(shù)"slowlog-log-slower-than"設(shè)置為0,以便收集所有命令的執(zhí)行時間。該命令還包含以下幾個子命令: 1). SLOWLOG GET N: 從slowlog隊列中讀取命令信息,N表示最近N條命令的信息。 2). SLOWLOG LEN:獲取slowlog隊列的長度。 3). SLOWLOG RESET:清空slowlog中的內(nèi)容。 最后給出SLOWLOG GET命令返回信息的解釋。 redis 127.0.0.1:6379> slowlog get 10 1) 1) (integer) 5 #唯一表示符,在Redis重啟之前,該值保證唯一。 2) (integer) 1330369320 #Unix Timestamp格式表示的命令執(zhí)行時間。 3) (integer) 13 #命令執(zhí)行所用的微秒數(shù)。 4) 1) "slowlog" #以字符串?dāng)?shù)組的格式輸出收集到的命令及其參數(shù)。 2) "reset" |
相關(guān)文章
Spring Boot整合Redis實現(xiàn)訂單超時處理問題
這篇文章主要介紹了Spring Boot整合Redis實現(xiàn)訂單超時處理,通過這個基本的示例,你可以了解如何使用Spring Boot和Redis來處理訂單超時問題,并根據(jù)需要進(jìn)行擴展和定制,需要的朋友可以參考下2023-11-11使用lua+redis解決發(fā)多張券的并發(fā)問題
這篇文章主要介紹了使用lua+redis解決發(fā)多張券的并發(fā)問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01