您好,登錄后才能下訂單哦!
本篇文章展示Redis中shell常用的命令使用方法,命令示例簡明扼要容易理解,如果在日常工作遇到這個疑問。希望大家通過這篇文章,找到解決疑問的辦法。
Redis-cli
redis-cli的選項非常多,除了常用的-h、-p、-a外,下面在介紹幾個很常用的選項。想查看所有選項的話可以使用redis-cli --help查看。
--version查看redis版本
# redis-cli --version redis-cli 5.0.5
可以看到我當前的版本是5.0.5
-r,-i
r是repeat的縮寫,表示重復幾次的意思。i是interval的縮寫,表示間隔多久(單位為妙)。
比如執行ping命令,共執行3次,每隔一秒執行一次。
# redis-cli -r 3 -i 1 ping
另外我們再介紹一個redis的api info memory,它是用來統計redis內存使用情況的。
# redis-cli info memory # Memory used_memory:878984 used_memory_human:858.38K used_memory_rss:3796992 used_memory_rss_human:3.62M ……
統計redis內存信息
介紹了上面的知識后,再結合shell基礎,就可以寫出一個統計redis內存占用的腳本了。
shell腳本如下,每5秒獲取內存信息,共取6次。
#!/bin/bash memorys=`redis-cli -r 6 -i 5 info memory | grep used_memory:\ | awk -F: '{print int($2)}'` total=0 for memory in $memorys do echo $memory total=$((memory+total)) done echo "avg:"$((total/6))
有一個地方需要注意,在awk那行,需要用int轉換為數字類型,否則循環里面的遞增將會出錯,必須保證變量memory是數字類型的。腳本的執行結果如下:
# ./bin/redis-used-memory.sh 883480 883504 883504 883504 883504 883504 avg:883500
分別輸出6個請求的數據,最后再打印出平均值。
--rdb 保存rdb文件到本地
有個該選項,再配合定時任務,我們就可以定期備份Redis數據。
# redis-cli --rdb /data/redis/rdb/dump.rdb SYNC sent to master, writing 721 bytes to '/data/redis/rdb/dump.rdb' Transfer finished with success.
如果redis含有重要數據的話,那么建議定時備份數據,防止數據丟失后損失太大。
Redis-benchmark
redis有專門做基準測試的工具,我們可以用它來測試redis的性能。下面介紹幾個常用選項。如想知道更多的選項的用法,使用redis-benchmark --help查看更多信息
-c(clients)
表示客戶端的并發數量,默認為50.
-n(requests)
表示客戶端請求總量,默認值為100000。
例如,有100個客戶端,總請求數為10000.
# redis-benchmark -c 100 -n 10000
-q
只顯示每秒的請求數據
redis-benchmark -c 100 -n 10000 -q PING_INLINE: 98039.22 requests per second PING_BULK: 102040.82 requests per second SET: 94339.62 requests per second GET: 99009.90 requests per second ……
可以看到,每秒set、get等命令的性能。
-t
對指定的命令進行基準測試,比如我只想看get和set的性能如何:
# redis-benchmark -t get,set -q SET: 98911.96 requests per second GET: 100200.40 requests per second
以上就是Redis中shell常用的命令使用方法,內容較為全面,而且我也相信有相當的一些工具可能是我們日常工作可能會見到或用到的。通過這篇文章,希望你能收獲更多。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。