詳解redis-cli?命令
命令使用:
redis-cli [OPTIONS] [cmd [arg [arg ...]]]
選項(xiàng)說明:
-h <hostname> Server hostname (default: 127.0.0.1). ip地址 -p <port> Server port (default: 6379). 服務(wù)器端口號(hào) -s <socket> Server socket (overrides hostname and port). -a <password> Password to use when connecting to the server. 密碼 -u <uri> Server URI. url格式的地址 -r <repeat> Execute specified command N times. -i <interval> When -r is used, waits <interval> seconds per command. It is possible to specify sub-second times like -i 0.1. -n <db> Database number. 指定數(shù)據(jù)庫 -x Read last argument from STDIN. -d <delimiter> Multi-bulk delimiter in for raw formatting (default: \n). -c Enable cluster mode (follow -ASK and -MOVED redirections). --raw Use raw formatting for replies (default when STDOUT is not a tty). --no-raw Force formatted output even when STDOUT is not a tty. --csv Output in CSV format. --stat Print rolling stats about server: mem, clients, ... 統(tǒng)計(jì)數(shù)據(jù) 連續(xù)輸出 --latency Enter a special mode continuously sampling latency. If you use this mode in an interactive session it runs forever displaying real-time stats. Otherwise if --raw or --csv is specified, or if you redirect the output to a non TTY, it samples the latency for 1 second (you can use -i to change the interval), then produces a single output and exits. 延時(shí)統(tǒng)計(jì) --latency-history Like --latency but tracking latency changes over time. Default time interval is 15 sec. Change it using -i. --latency-dist Shows latency as a spectrum, requires xterm 256 colors. Default time interval is 1 sec. Change it using -i. --lru-test <keys> Simulate a cache workload with an 80-20 distribution. --replica Simulate a replica showing commands received from the master. --rdb <filename> Transfer an RDB dump from remote server to local file. 導(dǎo)出rdb文件 --pipe Transfer raw Redis protocol from stdin to server. 管道模式 --pipe-timeout <n> In --pipe mode, abort with error if after sending all data. no reply is received within <n> seconds. Default timeout: 30. Use 0 to wait forever. 管道超時(shí) --bigkeys Sample Redis keys looking for big keys. --hotkeys Sample Redis keys looking for hot keys. only works when maxmemory-policy is *lfu. --scan List all keys using the SCAN command.獲取服務(wù)器所有的鍵 --pattern <pat> Useful with --scan to specify a SCAN pattern. 正則表達(dá)式 用于scan命令中 --intrinsic-latency <sec> Run a test to measure intrinsic system latency. The test will run for the specified amount of seconds. --eval <file> Send an EVAL command using the Lua script at <file>. --ldb Used with --eval enable the Redis Lua debugger. --ldb-sync-mode Like --ldb but uses the synchronous Lua debugger, in this mode the server is blocked and script changes are not rolled back from the server memory. --cluster <command> [args...] [opts...] Cluster Manager command and arguments (see below). --verbose Verbose mode. --no-auth-warning Don't show warning message when using password on command line interface.
注意:
-u 選項(xiàng)中url格式參考文檔https://www.iana.org/assignments/uri-schemes/prov/redis
格式為:redis://user:secret@localhost:6379/0?foo=bar&qux=baz
舉例:
root@hylaz:~# redis-cli 127.0.0.1:6379> set name hylaz OK 127.0.0.1:6379> quit root@hylaz:~# redis-cli -h 127.0.0.1 127.0.0.1:6379> get name "hylaz" 127.0.0.1:6379> select 6 127.0.0.1:6379[6]> root@hylaz:~# redis-cli -h 127.0.0.1 -p 6379 -n 2 127.0.0.1:6379[2]> get age
server中統(tǒng)計(jì)選項(xiàng)
root@hylaz:~# redis-cli --stat ------- data ------ --------------------- load -------------------- - child - keys mem clients blocked requests connections 11 835.52K 1 0 12 (+0) 5 11 835.52K 1 0 13 (+1) 5 11 835.52K 1 0 14 (+1) 5 11 835.52K 1 0 15 (+1) 5
列表中選項(xiàng)說明:
選項(xiàng) | 含義 |
---|---|
keys | server中key的數(shù)量 |
mem | 鍵值對(duì)的總內(nèi)存量 |
clients | 當(dāng)前連接的總clients數(shù)量 |
blocked | 當(dāng)前阻塞的客戶端數(shù)量 |
requests | 服務(wù)器請(qǐng)求總次數(shù) (+1) 截止上次請(qǐng)求增加次數(shù) |
connections | 服務(wù)器連接次數(shù) |
使用info命令獲取服務(wù)器的信息
導(dǎo)入rdb文件 命令:redis-cli --rdb rdb.log
root@hylaz:~# redis-cli --rdb rdb.log SYNC sent to master, writing 344 bytes to 'rdb.log' Transfer finished with success.
該命令選項(xiàng)實(shí)現(xiàn):
- 向server發(fā)送SYNC命令,返回需要寫的總字節(jié)數(shù)
- 從server讀取總字節(jié)數(shù)據(jù)寫到指定文件中
找出各種數(shù)據(jù)類型的最大鍵值對(duì)
命令:redis-cli --big-keys
root@hylaz:~# redis-cli --bigkeys # Scanning the entire keyspace to find biggest keys as well as # average sizes per key type. You can use -i 0.1 to sleep 0.1 sec # per 100 SCAN commands (not usually needed). [00.00%] Biggest string found so far 'name1' with 5 bytes [00.00%] Biggest set found so far 'myset' with 1 members [00.00%] Biggest string found so far 'key' with 6 bytes -------- summary ------- Sampled 13 keys in the keyspace! Total key length in bytes is 52 (avg len 4.00) Biggest string found 'key' has 6 bytes Biggest set found 'myset' has 1 members 12 strings with 33 bytes (92.31% of keys, avg size 2.75) 0 lists with 0 items (00.00% of keys, avg size 0.00) 1 sets with 1 members (07.69% of keys, avg size 1.00) 0 hashs with 0 fields (00.00% of keys, avg size 0.00) 0 zsets with 0 members (00.00% of keys, avg size 0.00) 0 streams with 0 entries (00.00% of keys, avg size 0.00)
該選項(xiàng)實(shí)現(xiàn):通過使用scan命令遍歷server中的鍵值對(duì),針對(duì)不同數(shù)據(jù)類型進(jìn)行統(tǒng)計(jì),
找出server中熱點(diǎn)key 命令:redis-cli --hotkeys
# Scanning the entire keyspace to find hot keys as well as # average sizes per key type. You can use -i 0.1 to sleep 0.1 sec # per 100 SCAN commands (not usually needed). [00.00%] Hot key 'dd' found so far with counter 4 [00.00%] Hot key 'myset' found so far with counter 5 [00.00%] Hot key 'a' found so far with counter 5 [00.00%] Hot key 'dds' found so far with counter 4 [71.43%] Hot key 'aa' found so far with counter 4 [71.43%] Hot key 'key' found so far with counter 4 -------- summary ------- Sampled 14 keys in the keyspace! hot key found with counter: 5 keyname: myset hot key found with counter: 5 keyname: a hot key found with counter: 4 keyname: dd hot key found with counter: 4 keyname: dds hot key found with counter: 4 keyname: aa hot key found with counter: 4 keyname: key
選項(xiàng)實(shí)現(xiàn):
1. redis實(shí)現(xiàn)8種緩存淘汰策略:
voltile-lru:從已設(shè)置過期時(shí)間的數(shù)據(jù)集(server.db[i].expires)中挑選最近最少使用的數(shù)據(jù)淘汰
volatile-ttl:從已設(shè)置過期時(shí)間的數(shù)據(jù)集(server.db[i].expires)中挑選將要過期的數(shù)據(jù)淘汰
volatile-random:從已設(shè)置過期時(shí)間的數(shù)據(jù)集(server.db[i].expires)中任意選擇數(shù)據(jù)淘汰
volatile-lfu: 從已設(shè)置過期時(shí)間的數(shù)據(jù)集驅(qū)逐使用頻率最少的鍵
allkeys-lru:從數(shù)據(jù)集(server.db[i].dict)中挑選最近最少使用的數(shù)據(jù)淘汰
allkeys-lfu: 從所有鍵中驅(qū)逐使用頻率最少的鍵
allkeys-random:從數(shù)據(jù)集(server.db[i].dict)中任意選擇數(shù)據(jù)淘汰
no-enviction(驅(qū)逐):禁止驅(qū)逐數(shù)據(jù) 當(dāng)內(nèi)存不足以容納新寫入數(shù)據(jù)時(shí),新寫入操作會(huì)報(bào)錯(cuò)
需要設(shè)置淘汰策略為lru或者lfu
2. 命令實(shí)現(xiàn)使用scan命令遍歷所有的鍵值對(duì),針對(duì)每個(gè)鍵值對(duì)使用OBJECT freq 獲取該鍵值對(duì)的信息
到此這篇關(guān)于redis-cli 命令詳解的文章就介紹到這了,更多相關(guān)redis-cli 命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Redis中地理位置功能Geospatial的應(yīng)用
Geospatial?Indexes?是?Redis?提供的一種數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和查詢地理位置信息,這篇文章就來和大家詳細(xì)講講Geospatial的具體應(yīng)用吧2023-06-06Redis?sentinel哨兵集群的實(shí)現(xiàn)步驟
本文主要介紹了Redis?sentinel哨兵集群的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Redis分布式鎖方案設(shè)計(jì)之防止訂單重復(fù)提交或支付
這篇文章主要為大家介紹了Redis分布式鎖之防止訂單重復(fù)提交或支付方案設(shè)計(jì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Redis Cluster集群數(shù)據(jù)分片機(jī)制原理
這篇文章主要介紹了Redis Cluster集群數(shù)據(jù)分片機(jī)制原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Redis報(bào)錯(cuò)“NOAUTH Authentication required”兩種解決方案
Redis提供了一個(gè)命令行工具redis-cli,它允許你直接連接到Redis服務(wù)器,如果你知道Redis服務(wù)器的密碼,你可以在連接時(shí)直接提供它,本文給大家介紹連接了Redis報(bào)錯(cuò)“NOAUTH Authentication required”兩種解決方案2024-05-05如何基于Session實(shí)現(xiàn)短信登錄功能
對(duì)比起Cookie,Session是存儲(chǔ)在服務(wù)器端的會(huì)話,相對(duì)安全,并且不像Cookie那樣有存儲(chǔ)長(zhǎng)度限制,下面這篇文章主要給大家介紹了關(guān)于如何基于Session實(shí)現(xiàn)短信登錄功能的相關(guān)資料,需要的朋友可以參考下2022-10-10