目錄
前面介紹了Redis的五種數據類型以及鍵命令,本篇介紹一些常用的Redis服務器命令,Redis 服務器命令主要是用於管理 redis 服務。文末有彩蛋~
Redis系列文章:
Redis系列(一)、CentOS7下安裝Redis6.0.3穩定版
Redis系列(六)、數據類型之有序集合ZSet(sorted_set)
進入命令行模式
redis-cli -a password_value
redis-cli -a password_value --raw
#raw 避免中文顯示亂碼
redis-cli --user default -a 123456 --raw
#指定用戶名密碼登錄,redis6新增ACL,後面會單開一個文章關於ACL
校驗連接狀態
PING
#如果連接成功返回PONG,連接失敗返回錯誤信息
驗證密碼是否正確
使用auth命令驗證密碼是否正確,如果當前未登陸進行驗證通過後會轉爲登陸狀態,如果當前已登陸,會返回驗證結果成功或失敗:
auth password
查看服務器信息
INFO [section]
統計當前庫下key的數量
dbsize
配置
查看配置信息
config get patten
修改當前配置信息
Config Set 命令可以動態地調整 Redis 服務器的配置(configuration)而無須重啓,但此時配置文件中仍是修改前的配置,可搭配config rewrite命令一起使用:
CONFIG SET parameter value
重寫配置文件
Config rewrite 命令對啓動 Redis 服務器時所指定的 redis.conf 配置文件進行改寫。與config set不同,set之後會將配置信息修改而無需重啓服務,但此時redis.conf配置文件裏記錄的參數仍是set之前的值,如果將redis服務重啓後會讀取conf文件中的配置,這時候讀到的還是set之前的配置,因此我們可以在set配置之後使用rewrite命令將當前的配置回寫至配置文件內,這樣就能不停機修改配置信息了,因此config set和config rewrite是配合使用的:
CONFIG REWRITE
重置統計信息
使用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
獲取當前時間
Time 命令用於返回當前服務器時間,返回一個包含兩個字符串的列表: 第一個字符串是當前時間(以 UNIX 時間戳格式表示),而第二個字符串是當前這一秒鐘已經逝去的微秒數。
time
DEBUG
debug object key獲取 key 的調試信息,當key不存在時返回錯誤信息。
debug segfault 命令執行一個非法的內存訪問從而讓 Redis 崩潰,僅在開發時用於 BUG 調試,執行後需要重啓服務。
debug object key
debug segfault
ACL(access control list)
ACL是Redis6之後新增的功能,也是千呼萬喚始出來,[對於Redis中ACL的使用因內容較多請關注後面的文章會單獨介紹]
數據持久化
異步AOF重寫
執行一個異步的AOF(append only file)文件重寫,[關於AOF和RDB後面的文章中會單開一篇介紹]
BGREWRITEAOF
同步RDB持久化數據到磁盤
同步地將redis中的數據持久化到磁盤:
save
異步RDB持久化數據到磁盤
異步將redis中的數據持久化到磁盤:
BGSAVE
查看上次RDB持久化時間
使用lastsave命令查看上次持久化到磁盤的時間:
lastsave
查看當前Redis中所有可用命令
使用Command 命令用於返回所有的Redis命令的詳細信息,以數組形式展示:
command
使用command count命令查看當前Redis中命令的數量:
command count
使用command info命令查看當前Redis中指定的命令的詳細信息:
COMMAND INFO command-name [command-name ...]
清空庫
flushdb清空當前數據庫下的所有數據。
flushall清空所有庫下的所有數據。
flushdb
flushall
監控
monitor命令用於監聽redis服務器接收到的所有命令:
monitor
關閉服務器
異步的將數據持久化到磁盤後關閉服務器:
SHUTDOWN [NOSAVE|SAVE]
彩蛋
Redis5之後新增的彩蛋,使用LOLWUT命令即可返回一副隨機圖像以及當前redis的版本信息。事實上LOLWUT沒有任何作用,但它想告訴我們的是:"編程不僅僅是把一些代碼放在一起創建有用的東西,也可以是無用但有趣的。"
LOLWUT
像其他還有client命令,主備同步命令會在後面的篇幅有更詳細的介紹,在本篇內就不一一列舉了。
希望本文對你有幫助,請點個贊鼓勵一下作者吧~ 謝謝!