redis-cli命令行工具的使用小結(jié)
redis-cli命令行工具是一個功能強大的Redis客戶端,它允許用戶與Redis數(shù)據(jù)庫進(jìn)行交互和管理。
以下是一些常用參數(shù)的使用說明:
基本連接參數(shù)
-h, --host <hostname>
:指定要連接的Redis服務(wù)器的主機名或IP地址。如果未指定,則默認(rèn)為127.0.0.1(即本地主機)。-p, --port <port>
:指定要連接的Redis服務(wù)器的端口號。如果未指定,則默認(rèn)為6379,這是Redis的默認(rèn)端口。-a, --password <password>
:指定連接Redis服務(wù)器所需的密碼。如果Redis服務(wù)器設(shè)置了密碼保護(hù),則需要使用此參數(shù)來提供密碼。-n, --db <db>
:指定要連接的Redis數(shù)據(jù)庫編號。Redis默認(rèn)提供16個數(shù)據(jù)庫(編號從0到15),通過此參數(shù)可以選擇要連接的數(shù)據(jù)庫。
基本連接方式
如果你在本地運行Redis服務(wù)器,且使用默認(rèn)端口(6379),可以在終端中直接輸入redis-cli來連接。
例如:
$ redis-cli 127.0.0.1:6379>
連接遠(yuǎn)程服務(wù)器
如果Redis服務(wù)器在遠(yuǎn)程主機上,你需要指定主機名或IP地址以及端口號。
例如,假設(shè)遠(yuǎn)程Redis服務(wù)器的IP地址是192.168.1.100,端口為6379,你可以使用以下命令連接:
$ redis-cli -h 192.168.1.100 -p 6379 192.168.1.100:6379>
其中-h
參數(shù)用于指定主機(host),-p
參數(shù)用于指定端口(port)。
帶密碼連接
如果Redis服務(wù)器設(shè)置了密碼保護(hù),你可以使用-a參數(shù)來提供密碼。例如,密碼為mypassword,連接命令如下:
$ redis-cli -h 192.168.1.100 -p 6379 -a mypassword 192.168.1.100:6379>
不過這種方式在命令行歷史記錄中會顯示密碼,存在一定的安全風(fēng)險。
更安全的做法是先通過不帶密碼的方式連接,然后使用AUTH命令進(jìn)行認(rèn)證。例如:
$ redis - cli -h 192.168.1.100 -p 6379 192.168.1.100:6379> AUTH mypassword OK
操作與格式參數(shù)
-r, --repeat <count>
:指定要重復(fù)執(zhí)行命令的次數(shù)。這個參數(shù)可以與-i參數(shù)一起使用,以實現(xiàn)定時重復(fù)執(zhí)行命令的功能。-i, --interval <seconds>
:設(shè)置命令執(zhí)行的間隔時間(以秒為單位)。這個參數(shù)通常與-r參數(shù)一起使用,用于控制命令的重復(fù)執(zhí)行速率。-x
:從標(biāo)準(zhǔn)輸入(stdin)讀取最后一個參數(shù)。這允許用戶從管道或其他輸入源中讀取數(shù)據(jù),并將其作為命令的參數(shù)傳遞給redis-cli。--raw / --no-raw
:控制命令輸出的格式。使用–raw參數(shù)可以以原始格式打印Redis的返回結(jié)果,包括數(shù)據(jù)類型和值。而–no-raw則恢復(fù)為默認(rèn)的輸出格式。--csv
:以CSV(逗號分隔值)格式打印返回結(jié)果。這有助于將Redis的輸出導(dǎo)入到電子表格或其他支持CSV格式的應(yīng)用程序中。
-r參數(shù)重復(fù)執(zhí)行命令
含義:-r參數(shù)用于指定命令執(zhí)行的次數(shù)。這在需要多次執(zhí)行相同命令時非常有用,例如對某個操作進(jìn)行壓力測試或者批量插入數(shù)據(jù)等情況。
示例:假設(shè)要將鍵my_r的值設(shè)置為一個自增的數(shù)字,重復(fù)執(zhí)行5次。可以使用以下命令:
$ redis-cli -r 5 incr my_r (integer) 1 (integer) 2 (integer) 3 (integer) 4 (integer) 5
-i參數(shù)指定命令間隔時間
含義:-i參數(shù)用于指定每次命令執(zhí)行之間的間隔時間,單位是秒。它通常與-r參數(shù)一起使用,當(dāng)需要以一定的時間間隔多次執(zhí)行命令時可以用到。
示例:以下命令會每隔1秒執(zhí)行一次incr my_i
命令,共執(zhí)行5次。
$ redis-cli -r 5 -i 1 incr my_i (integer) 1 (integer) 2 (integer) 3 (integer) 4 (integer) 5
-x參數(shù)讀取標(biāo)準(zhǔn)輸入
含義:用于從標(biāo)準(zhǔn)輸入(stdin)讀取數(shù)據(jù)作為最后一個參數(shù)的值。這在處理比較長或復(fù)雜的數(shù)據(jù)(如大型字符串、二進(jìn)制數(shù)據(jù)等)時非常有用,使得可以通過管道或其他方式將數(shù)據(jù)傳遞給redis-cli命令,而不是直接在命令行中輸入冗長的數(shù)據(jù)。
$ echo hello | redis-cli -x set hi OK $ redis-cli get hi "hello\n"
echo會將hello輸出到標(biāo)準(zhǔn)輸出,通過管道|將標(biāo)準(zhǔn)輸出的內(nèi)容作為set命令的值(由于-x參數(shù)的存在),set命令會將這個值存儲到鍵hi中。
–raw/–no-raw控制命令輸出格式
含義:用于以原始格式(raw format)顯示數(shù)據(jù)。默認(rèn)情況下在輸出一些數(shù)據(jù)類型(如哈希、列表、集合等)時,會對它們進(jìn)行格式化,以便于閱讀。但是,在某些情況下,你可能希望獲取數(shù)據(jù)的確切字節(jié)表示,或者將數(shù)據(jù)直接用于腳本處理,這時就可以使用–raw選項。
$ redis-cli hgetall student_scores 1) "Alice" 2) "95" 3) "Bob" 4) "85" 5) "Charlie" 6) "100" $ redis-cli --raw hgetall student_scores Alice 95 Bob 85 Charlie 100 $ redis-cli --no-raw hgetall student_scores 1) "Alice" 2) "95" 3) "Bob" 4) "85" 5) "Charlie" 6) "100"
–csv以CSV格式打印返回結(jié)果
含義:將命令的輸出格式化為CSV(逗號分隔值)格式。CSV是一種常用的數(shù)據(jù)交換格式,特別適用于在電子表格軟件(如 Microsoft Excel、Google Sheets)或數(shù)據(jù)庫系統(tǒng)之間導(dǎo)入和導(dǎo)出數(shù)據(jù)。
$ redis-cli --csv hgetall student_scores "Alice","95","Bob","85","Charlie","100"
高級功能參數(shù)
--scan <pattern>
:執(zhí)行SCAN命令以遍歷Redis中的所有鍵??梢耘浜螩OUNT參數(shù)來控制每次迭代的數(shù)量。與KEYS命令相比,SCAN命令是增量式的,不會阻塞Redis服務(wù)器。--bigkeys
:在Redis服務(wù)器上執(zhí)行SCAN命令以查找大鍵。這有助于分析Redis的內(nèi)存使用情況,并識別出占用大量內(nèi)存的鍵。--rdb <filename>
:指定Redis數(shù)據(jù)庫的RDB文件進(jìn)行導(dǎo)出。這允許用戶備份Redis數(shù)據(jù)庫。--slave
:以從節(jié)點模式連接Redis服務(wù)器。這通常用于設(shè)置Redis復(fù)制和從節(jié)點管理。--pipe
:使用管道模式發(fā)送Redis命令。這可以加快大批量命令的執(zhí)行速度,特別適用于數(shù)據(jù)遷移或批量更新等場景。--eval <script> <keys> [args]
:執(zhí)行指定的Lua腳本。這個參數(shù)允許用戶在Redis服務(wù)器上運行自定義的Lua腳本,以實現(xiàn)復(fù)雜的邏輯操作和數(shù)據(jù)處理。--latency
:在Redis服務(wù)器上執(zhí)行PING命令以獲取延遲信息。這有助于監(jiān)控Redis服務(wù)器的性能和響應(yīng)時間。--stat
:打印Redis服務(wù)器的統(tǒng)計信息。這包括內(nèi)存使用情況、命令處理速率等關(guān)鍵指標(biāo),有助于用戶了解Redis服務(wù)器的運行狀態(tài)。
按key遷移redis腳本:
#!/bin/bash source_host="127.0.0.1" source_port=6379 source_db=0 destination_host="127.0.0.1" destination_port=6379 destination_db=1 redis-cli -h $source_host -p $source_port -n $source_db keys "*" | while read key do t=`redis-cli -h $source_host -p $source_port -n $source_db --raw ttl $key` if test $t -eq -1 then t=0 fi redis-cli -h $source_host -p $source_port -n $source_db --raw -D dump $key | redis-cli -h $destination_host -p $destination_port -n $destination_db -x restore $key $t echo "migrate key $key" done
使用--rdb
備份redis:
$ redis-cli --rdb redis.rdb sending REPLCONF capa eof sending REPLCONF rdb-only 1 SYNC sent to master, writing 205 bytes to 'redis.rdb' Transfer finished with success.
到此這篇關(guān)于redis-cli命令行工具的使用的文章就介紹到這了,更多相關(guān)redis-cli使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis 2.8-4.0過期鍵優(yōu)化過程全紀(jì)錄
這篇文章主要給大家介紹了關(guān)于Redis 2.8-4.0過期鍵優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python的Flask框架使用Redis做數(shù)據(jù)緩存的配置方法
Redis數(shù)據(jù)庫依賴于主存,在關(guān)系型數(shù)據(jù)庫以外再配套Redis管理緩存數(shù)據(jù)將對性能會有很大的提升,這里我們就來看一下Python的Flask框架使用Redis做數(shù)據(jù)緩存的配置方法2016-06-06Redis Desktop Manager(Redis可視化工具)安裝及使用圖文教程
這篇文章主要介紹了Redis Desktop Manager(Redis可視化工具)安裝及使用圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04