輸入 redis-cli 連接到命令行客戶端(默認host=127.0.0.1,port=6379)
[root@vmzq1l0l ~]# redis-cli
127.0.0.1:6379>
-h
-h(host:主機)選項代表主機IP,不輸入默認爲127.0.0.1
[root@vmzq1l0l ~]# redis-cli -h 127.0.0.1
127.0.0.1:6379>
-p
-p(port:端口)選項代表端口號,不輸入默認爲6379
[root@vmzq1l0l ~]# redis-cli -p 6379
127.0.0.1:6379>
-r
-r(repeat:重複)選項表示將命令執行多次,例如執行三次ping操作
[root@vmzq1l0l ~]# redis-cli -r 3 ping
PONG
PONG
PONG
-i
-i(interval:間隔)選項表示間隔多少秒執行一次命令,但是 -i 必須要和 -r 一起使用,例如每隔1秒執行一次ping命令,總共執行3次
[root@vmzq1l0l ~]# redis-cli -r 3 -i 1 ping
PONG
PONG
PONG
-x
-x選項表示從標準輸入(stdin)讀取數據作爲redis-cli的最後一個參數,例如下面的操作會將字符串”It’s a dog”作爲鍵Goofy的值(echo的-e表示開啓轉義,\c表示不換行)
[root@vmzq1l0l ~]# echo -e "It's a dog\c" | redis-cli -x set Goofy
OK
[root@vmzq1l0l ~]# redis-cli
127.0.0.1:6379> get Goofy
"It's a dog"
-c
-c(cluster:集羣)選項是連接Redis Cluster節點時需要使用的,-c選項可以防止moved和ask異常
-a
-a(authority:權限)如果Redis配置了密碼,可以用-a選項,有了這個選項就不需要手動輸入auth命令。
–scan和–pattern
–scan選項和–pattern選項用於掃描指定模式的鍵,相當於使用scan命令
–slave
–slave項是把當前客戶端模擬成當前Redis節點的從節點,可以用來獲取當前Redis節點的更新操作
第一個客戶端開啓slave
[root@vmzq1l0l ~]# redis-cli --slave
SYNC with master, discarding 884 bytes of bulk transfer...
SYNC done. Logging commands from master.
"PING"
"PING"
"PING"
"PING"
第二個客戶端做set字符串操作
[root@vmzq1l0l ~]# redis-cli
127.0.0.1:6379> set hello world
OK
此時第一個客戶端
[root@vmzq1l0l ~]# redis-cli --slave
SYNC with master, discarding 884 bytes of bulk transfer...
SYNC done. Logging commands from master.
"PING"
"PING"
"PING"
"PING"
"SELECT","0"
"set","hello","world"
–rdb
–rdb選項會請求Redis實例生成併發送RDB持久化文件,保存在本地。可使用它做持久化文件的定期備份
–pipe
–pipe選項用於將命令封裝成Redis通信協議定義的數據格式,批量發送給Redis執行;例如下面操作同時執行了set hello world和incr counter兩條命令
$ echo -en '*3\r\n$3\r\nSET\r\n$5\r\nhello\r\n$5\r\nworld\r\n*2\r\n$4\r\nincr\r\n$7\r\ncounter\r\n' | redis-cli --pipe
–bigkeys
–bigkeys選項使用scan命令對Redis的鍵進行採樣,從中找到內存佔用比較大的鍵值,這些鍵可能是系統的瓶頸
–eval
–eval選項用於執行指定Lua腳本
–latency
latency有三個選項,分別是–latency、–latency-history、–latency-dist。它們都可以檢測網絡延遲,對於Redis的開發和運維非常有幫助
–stat
–stat(statistics:統計)選項可以實時獲取Redis的重要統計信息,雖然info命令中的統計信息更全,但是能實時看到一些增量的數據(例如requests)對於Redis的運維還是有一定幫助的
[root@vmzq1l0l ~]# redis-cli --stat
------- data ------ --------------------- load -------------------- - child -
keys mem clients blocked requests connections
27 2.06M 12 0 7696 (+0) 66
27 2.06M 12 0 7697 (+1) 66
27 2.06M 12 0 7698 (+1) 66
.
.
.
–raw和–no-raw
–no-raw選項是要求命令的返回結果必須是原始的格式,–raw恰恰相反,返回格式化後的結果,設置一個鍵爲hello的value爲中文“你好”,正常get會返回一個二進制格式的結果,加了–raw就會返回正常的中文字符
[root@vmzq1l0l ~]# redis-cli set hello "你好"
OK
[root@vmzq1l0l ~]# redis-cli get hello
"\xe4\xbd\xa0\xe5\xa5\xbd"
[root@vmzq1l0l ~]# redis-cli --raw get hello
你好