日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis-cli 命令详解

發布時間:2024/2/28 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis-cli 命令详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

redis-cli命令使用

命令使用

redis-cli [OPTIONS] [cmd [arg [arg ...]]]

選項說明

-h <hostname> Server hostname (default: 127.0.0.1). ip地址-p <port> Server port (default: 6379). 服務器端口號-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. 指定數據庫-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 isnot 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, ... 統計數據 連續輸出--latency Enter a special mode continuously sampling latency.If you use this mode in an interactive session it runsforever displaying real-time stats. Otherwise if --raw or--csv is specified, or if you redirect the output to a nonTTY, it samples the latency for 1 second (you can use-i to change the interval), then produces a single outputand exits. 延時統計--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. 導出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.管道超時--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.獲取服務器所有的鍵--pattern <pat> Useful with --scan to specify a SCAN pattern.正則表達式 用于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, inthis mode the server is blocked and script changes arenot 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 commandline interface.

注意:

  • -u選項中url格式參考文檔https://www.iana.org/assignments/uri-schemes/prov/redis 格式為:redis://user:secret@localhost:6379/0?foo=bar&qux=baz
  • 舉例:

    例子1:

    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> quit root@hylaz:~# redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> set age 20 OK 127.0.0.1:6379> get age "20" 127.0.0.1:6379> quit root@hylaz:~# redis-cli -h 127.0.0.1 -p 6379 -n 2 127.0.0.1:6379[2]> get age (nil) 127.0.0.1:6379[2]> set age 23 OK 127.0.0.1:6379[2]> get age "23" 127.0.0.1:6379[2]> quit

    例子2:

    server中統計選項

    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

    列表中選項說明:

    選項含義
    keysserver中key的數量
    mem鍵值對的總內存量
    clients當前連接的總clients數量
    blocked當前阻塞的客戶端數量
    requests服務器請求總次數 (+1) 截止上次請求增加次數
    connections服務器連接次數

    使用info命令獲取服務器的信息

    例子3:

    導入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.

    該命令選項實現:

  • 向server發送SYNC命令,返回需要寫的總字節數
  • 從server讀取總字節數據寫到指定文件中
  • 例子4:

    找出各種數據類型的最大鍵值對 命令: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 members12 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)

    該選項實現:通過使用scan命令遍歷server中的鍵值對,針對不同數據類型進行統計,

    例子5:

    找出server中熱點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

    選項實現:

  • redis實現8種緩存淘汰策略:

    voltile-lru:從已設置過期時間的數據集(server.db[i].expires)中挑選最近最少使用的數據淘汰

    volatile-ttl:從已設置過期時間的數據集(server.db[i].expires)中挑選將要過期的數據淘汰

    volatile-random:從已設置過期時間的數據集(server.db[i].expires)中任意選擇數據淘汰

    volatile-lfu: 從已設置過期時間的數據集驅逐使用頻率最少的鍵

    allkeys-lru:從數據集(server.db[i].dict)中挑選最近最少使用的數據淘汰

    allkeys-lfu: 從所有鍵中驅逐使用頻率最少的鍵

    allkeys-random:從數據集(server.db[i].dict)中任意選擇數據淘汰

    no-enviction(驅逐):禁止驅逐數據 當內存不足以容納新寫入數據時,新寫入操作會報錯

    需要設置淘汰策略為lru或者lfu

  • 2.命令實現使用scan命令遍歷所有的鍵值對,針對每個鍵值對使用OBJECT freq 獲取該鍵值對的信息

    總結

    以上是生活随笔為你收集整理的redis-cli 命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。