Redis學習筆記—redis-cli詳解

輸入 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
你好
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章