天天看點

Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

目錄

進入指令行模式

校驗連接配接狀态

驗證密碼是否正确

檢視伺服器資訊

統計目前庫下key的數量

配置

檢視配置資訊

修改目前配置資訊

重寫配置檔案

重置統計資訊

切換資料庫

擷取目前時間

DEBUG

ACL(access control list)

資料持久化

異步AOF重寫

同步RDB持久化資料到磁盤

異步RDB持久化資料到磁盤

檢視上次RDB持久化時間

檢視目前Redis中所有可用指令

清空庫

監控

關閉伺服器

彩蛋

前面介紹了Redis的五種資料類型以及鍵指令,本篇介紹一些常用的Redis伺服器指令,Redis 伺服器指令主要是用于管理 redis 服務。文末有彩蛋~

Redis系列文章:

Redis系列(一)、CentOS7下安裝Redis6.0.3穩定版

Redis系列(二)、資料類型之字元串String 

Redis系列(三)、資料類型之哈希Hash

Redis系列(四)、資料類型之清單List

Redis系列(五)、資料類型之無序集合Set

Redis系列(六)、資料類型之有序集合ZSet(sorted_set)

Redis系列(七)、常用key指令

進入指令行模式

redis-cli -a password_value
 
redis-cli -a password_value --raw
#raw 避免中文顯示亂碼

redis-cli --user default -a 123456 --raw
#指定使用者名密碼登入,redis6新增ACL,後面會單開一個文章關于ACL
           

校驗連接配接狀态

PING
#如果連接配接成功傳回PONG,連接配接失敗傳回錯誤資訊
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

驗證密碼是否正确

 使用auth指令驗證密碼是否正确,如果目前未登陸進行驗證通過後會轉為登陸狀态,如果目前已登陸,會傳回驗證結果成功或失敗:

auth password
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

檢視伺服器資訊

INFO [section]
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

統計目前庫下key的數量

dbsize
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

配置

檢視配置資訊

config get patten
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

修改目前配置資訊

Config Set 指令可以動态地調整 Redis 伺服器的配置(configuration)而無須重新開機,但此時配置檔案中仍是修改前的配置,可搭配config rewrite指令一起使用:

CONFIG SET parameter value
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

重寫配置檔案

Config rewrite 指令對啟動 Redis 伺服器時所指定的 redis.conf 配置檔案進行改寫。與config set不同,set之後會将配置資訊修改而無需重新開機服務,但此時redis.conf配置檔案裡記錄的參數仍是set之前的值,如果将redis服務重新開機後會讀取conf檔案中的配置,這時候讀到的還是set之前的配置,是以我們可以在set配置之後使用rewrite指令将目前的配置回寫至配置檔案内,這樣就能不停機修改配置資訊了,是以config set和config rewrite是配合使用的:

CONFIG REWRITE
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

重置統計資訊

使用Config Resetstat 指令重置 INFO 指令中的某些統計資料,包括:

  • Keyspace hits (鍵空間命中次數)
  • Keyspace misses (鍵空間不命中次數)
  • Number of commands processed (執行指令的次數)
  • Number of connections received (連接配接伺服器的次數)
  • Number of expired keys (過期key的數量)
  • Number of rejected connections (被拒絕的連接配接數量)
  • Latest fork(2) time(最後執行 fork(2) 的時間)
  • The aof_delayed_fsync counter(aof_delayed_fsync 計數器的值)
CONFIG RESETSTAT
           

切換資料庫

redis共有16個db,從db0~db15,使用select index指令在資料庫之間進行切換:

select index
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

擷取目前時間

Time 指令用于傳回目前伺服器時間,傳回一個包含兩個字元串的清單: 第一個字元串是目前時間(以 UNIX 時間戳格式表示),而第二個字元串是目前這一秒鐘已經逝去的微秒數。

time
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

DEBUG

debug object key擷取 key 的調試資訊,當key不存在時傳回錯誤資訊。

debug segfault 指令執行一個非法的記憶體通路進而讓 Redis 崩潰,僅在開發時用于 BUG 調試,執行後需要重新開機服務。

debug object key
debug segfault 
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

ACL(access control list)

ACL是Redis6之後新增的功能,也是千呼萬喚始出來,[對于Redis中ACL的使用因内容較多請關注後面的文章會單獨介紹]

Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

資料持久化

異步AOF重寫

執行一個異步的AOF(append only file)檔案重寫,[關于AOF和RDB後面的文章中會單開一篇介紹]

BGREWRITEAOF 
           

同步RDB持久化資料到磁盤

同步地将redis中的資料持久化到磁盤:

save
           

異步RDB持久化資料到磁盤

異步将redis中的資料持久化到磁盤:

BGSAVE
           

檢視上次RDB持久化時間

使用lastsave指令檢視上次持久化到磁盤的時間:

lastsave
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

檢視目前Redis中所有可用指令

使用Command 指令用于傳回所有的Redis指令的詳細資訊,以數組形式展示:

command
           

使用command count指令檢視目前Redis中指令的數量:

command count
           

使用command info指令檢視目前Redis中指定的指令的詳細資訊:

COMMAND INFO command-name [command-name ...]
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

清空庫

flushdb清空目前資料庫下的所有資料。

flushall清空所有庫下的所有資料。

flushdb
flushall
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

監控

monitor指令用于監聽redis伺服器接收到的所有指令:

monitor
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

關閉伺服器

異步的将資料持久化到磁盤後關閉伺服器:

SHUTDOWN [NOSAVE|SAVE]
           

彩蛋

Redis5之後新增的彩蛋,使用LOLWUT指令即可傳回一副随機圖像以及目前redis的版本資訊。事實上LOLWUT沒有任何作用,但它想告訴我們的是:"程式設計不僅僅是把一些代碼放在一起建立有用的東西,也可以是無用但有趣的。"

LOLWUT
           
Redis系列(八)、常用伺服器指令進入指令行模式配置切換資料庫擷取目前時間DEBUGACL(access control list)資料持久化檢視目前Redis中所有可用指令清空庫監控關閉伺服器彩蛋

像其他還有client指令,主備同步指令會在後面的篇幅有更詳細的介紹,在本篇内就不一一列舉了。

希望本文對你有幫助,請點個贊鼓勵一下作者吧~ 謝謝!