redis-cli 詳細(xì)用法

redis-cli 是Redis的客戶端命令行界面

  • 它對(duì)命令大小寫不敏感,如: ping竣蹦、Ping橄霉、PING是同一個(gè)命令
  • 但是對(duì)變量大小寫敏感,A沪曙、a是兩個(gè)變量

它主要有兩種模式:

  • 一種是交互模式奕污,用戶可以在其中鍵入命令并獲得回復(fù);
  • 另一種模式是通過redis-cli發(fā)送命令液走,然后打印在標(biāo)準(zhǔn)輸出上

redis-cli未指定主機(jī)和端口時(shí)碳默,默認(rèn)連接127.0.0.1 端口 6379 的服務(wù)實(shí)例。

參數(shù) 解釋
-h 主機(jī)
-p 端口
-a 密碼, 后者后續(xù)通過auth來顯示認(rèn)證
-n 指定數(shù)據(jù)庫(kù)0~15

例子:

$ redis-cli -h 127:0:0:1 -p 6379 -a root ping
PONG

一缘眶、交互模式

啟動(dòng)
$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> dbsize
(integer) 1
127.0.0.1:6379[2]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 50
處理連接和重新連接 connect

connect通過指定我們要連接的主機(jī)名和端口嘱根,在交互模式下使用該命令可以連接到不同的實(shí)例:

127.0.0.1:6379> connect baobao 6379
baobao:6379> ping
PONG
重復(fù)運(yùn)行命令

通過在命令名稱前加上一個(gè)數(shù)字,可以多次運(yùn)行相同的命令:

127.0.0.1:6379> 5 incr foo
(integer) 1
(integer) 2
(integer) 3
(integer) 4
(integer) 5
清屏 clear

二巷懈、命令行模式

重復(fù)運(yùn)行 -r

可以在用戶選擇的兩次執(zhí)行之間暫停的情況下该抒,將同一命令執(zhí)行指定的次數(shù)

參數(shù) 解釋
-r 運(yùn)行命令的次數(shù), 若想一直重復(fù)則使用-1
-i 運(yùn)行間隔, 單位是秒,如果想使用毫秒顶燕,可以用 -i 0.001

例1:對(duì)foo自增5次

$ redis-cli -r 5 incr foo
(integer) 1
(integer) 2
(integer) 3
(integer) 4
(integer) 5

例2:每隔1秒執(zhí)行一次ping,執(zhí)行5次

$ redis-cli -r 5 -i 1 ping
PONG
PONG
PONG
PONG
PONG

例3: 每隔1秒打印一次 RSS 內(nèi)存大小

$ redis-cli -r -1 -i 1 INFO | grep rss_human
used_memory_rss_human:1.38M
used_memory_rss_human:1.38M
used_memory_rss_human:1.38M
CSV 輸出 --csv

有時(shí)您可能希望使用redis-cli以快速將數(shù)據(jù)從 Redis 導(dǎo)出到外部程序凑保。這可以使用 CSV(逗號(hào)分隔值)輸出功能來完成:

$ redis-cli lpush mylist a b c d
(integer) 4
$ redis-cli --csv lrange mylist 0 -1
"d","c","b","a"

目前不可能像那樣導(dǎo)出整個(gè)數(shù)據(jù)庫(kù),而只能運(yùn)行帶有 CSV 輸出的單個(gè)命令割岛。

從其他程序獲取輸入 -x

–x表示從標(biāo)準(zhǔn)輸入(stdin)讀取數(shù)據(jù)作為redis-cli的最后一個(gè)參數(shù)愉适,一般與管道符在一起使用。

例如:

$ echo dbsize|redis-cli -x 
(integer) 14
$ echo world|redis-cli -n 14  -x  set hello
OK
$ redis-cli -x set foo < /etc/services
OK
批量執(zhí)行命令 –-pipe

-–pipe 用于將命令封裝成Redis通信協(xié)議定義的數(shù)據(jù)格式癣漆,批量發(fā)送給Redis執(zhí)行维咸。

命令格式如下

cat redis.txt | redis-cli -h 127.0.0.1 -a password - p 6379 --pipe

其中redis.txt 格式為

set myname baobao
set yourname popo

注意導(dǎo)入前需要進(jìn)行文件格式轉(zhuǎn)碼

unix2dos  redis.txt 
顯示格式 --raw和--no-raw

--no-raw是要求命令的返回結(jié)果必須是原始的格式,--raw恰恰相反惠爽,返回格式化后的結(jié)果癌蓖。

在Redis中設(shè)置一個(gè)鍵,如果用get或–no-row選項(xiàng)婚肆,那么返回的結(jié)果是二進(jìn)制格式:

[root@Redis ~]# redis-cli set hello "你好"
OK
[root@Redis ~]# redis-cli get hello
"\xe4\xbd\xa0\xe5\xa5\xbd"
[root@Redis ~]# redis-cli --no-raw get hello
"\xe4\xbd\xa0\xe5\xa5\xbd"

如果使用--raw選項(xiàng)租副,就會(huì)返回中文:

[root@Redis ~]# redis-cli --raw get hello
你好
運(yùn)行Lua腳本 --eval
$ cat /tmp/script.lua
return redis.call('set',KEYS[1],ARGV[1])
$ redis-cli --eval /tmp/script.lua foo , bar
OK
掃描指定模式的鍵 –-scan

當(dāng)數(shù)據(jù)集發(fā)生變化,可能會(huì)多次報(bào)告鍵较性,但如果自迭代開始以來該鍵就存在用僧,則不會(huì)丟失任何鍵

$ redis-cli --scan | head -4
key-419
key-71
key-236
key-50

請(qǐng)注意结胀,head -10用于打印輸出的第一行。

掃描能夠使用帶有選項(xiàng)的SCAN命令的底層模式匹配功能–-pattern责循。

$ redis-cli --scan --pattern '*-11*'
key-115
key-114
key-113
key-112
key-111

配合wc可統(tǒng)計(jì)特定種類的key個(gè)數(shù):

$ redis-cli --scan --pattern 'user:*' | wc -l

三糟港、發(fā)布/訂閱模式

redis-cli只需使用 PUBLISH命令就可以在Redis發(fā)布/訂閱通道中發(fā)布消息, 通過 SUBSCRIBEPUBLISH進(jìn)行訂閱。

$ redis-cli psubscribe bao-*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "bao-*"
3) (integer) 1

閱讀郵件消息顯示院仿,我們進(jìn)入的Pub / Sub模式秸抚。當(dāng)另一個(gè)客戶端在某個(gè)通道中發(fā)布某些消息時(shí)(例如redis-cli PUBLISH bao-1 hello),發(fā)布/訂閱模式下的CLI將顯示以下內(nèi)容:

1) "pmessage"
2) "bao-*"
3) "bao-1"
4) "hello"

更多功能 --hep

$ redis-cli --help

若想進(jìn)行服務(wù)監(jiān)控, 可查看我另一篇博客: redis 服務(wù)監(jiān)控

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末歹垫,一起剝皮案震驚了整個(gè)濱河市剥汤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌排惨,老刑警劉巖吭敢,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異若贮,居然都是意外死亡省有,警方通過查閱死者的電腦和手機(jī)痒留,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門谴麦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伸头,你說我怎么就攤上這事匾效。” “怎么了恤磷?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵面哼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我扫步,道長(zhǎng)魔策,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任河胎,我火速辦了婚禮闯袒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘游岳。我一直安慰自己政敢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布胚迫。 她就那樣靜靜地躺著喷户,像睡著了一般。 火紅的嫁衣襯著肌膚如雪访锻。 梳的紋絲不亂的頭發(fā)上褪尝,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天闹获,我揣著相機(jī)與錄音,去河邊找鬼河哑。 笑死昌罩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灾馒。 我是一名探鬼主播茎用,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼睬罗!你這毒婦竟也來了轨功?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤容达,失蹤者是張志新(化名)和其女友劉穎古涧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體花盐,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡羡滑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了算芯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柒昏。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熙揍,靈堂內(nèi)的尸體忽然破棺而出职祷,到底是詐尸還是另有隱情,我是刑警寧澤届囚,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布有梆,位于F島的核電站,受9級(jí)特大地震影響意系,放射性物質(zhì)發(fā)生泄漏泥耀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一蛔添、第九天 我趴在偏房一處隱蔽的房頂上張望痰催。 院中可真熱鬧,春花似錦作郭、人聲如沸陨囊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜘醋。三九已至,卻和暖如春咏尝,著一層夾襖步出監(jiān)牢的瞬間压语,已是汗流浹背啸罢。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胎食,地道東北人扰才。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像厕怜,于是被迫代替她去往敵國(guó)和親衩匣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容