溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Redis shell有哪些常用的命令?

發(fā)布時間:2020-05-15 16:06:18 來源:億速云 閱讀:281 作者:Leah 欄目:關(guān)系型數(shù)據(jù)庫

本篇文章展示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的縮寫,表示重復(fù)幾次的意思。i是interval的縮寫,表示間隔多久(單位為妙)。

比如執(zhí)行ping命令,共執(zhí)行3次,每隔一秒執(zhí)行一次。

# redis-cli -r 3 -i 1 ping

另外我們再介紹一個redis的api info memory,它是用來統(tǒng)計redis內(nèi)存使用情況的。

# redis-cli info memory
# Memory
used_memory:878984
used_memory_human:858.38K
used_memory_rss:3796992
used_memory_rss_human:3.62M
……

統(tǒng)計redis內(nèi)存信息

介紹了上面的知識后,再結(jié)合shell基礎(chǔ),就可以寫出一個統(tǒng)計redis內(nèi)存占用的腳本了。

shell腳本如下,每5秒獲取內(nèi)存信息,共取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轉(zhuǎn)換為數(shù)字類型,否則循環(huán)里面的遞增將會出錯,必須保證變量memory是數(shù)字類型的。腳本的執(zhí)行結(jié)果如下:

# ./bin/redis-used-memory.sh 
883480
883504
883504
883504
883504
883504
avg:883500

分別輸出6個請求的數(shù)據(jù),最后再打印出平均值。

--rdb 保存rdb文件到本地

有個該選項,再配合定時任務(wù),我們就可以定期備份Redis數(shù)據(jù)。

# 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含有重要數(shù)據(jù)的話,那么建議定時備份數(shù)據(jù),防止數(shù)據(jù)丟失后損失太大。

Redis-benchmark

redis有專門做基準測試的工具,我們可以用它來測試redis的性能。下面介紹幾個常用選項。如想知道更多的選項的用法,使用redis-benchmark --help查看更多信息

-c(clients)

表示客戶端的并發(fā)數(shù)量,默認為50.

-n(requests)

表示客戶端請求總量,默認值為100000。

例如,有100個客戶端,總請求數(shù)為10000.

# redis-benchmark -c 100 -n 10000

-q

只顯示每秒的請求數(shù)據(jù)

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常用的命令使用方法,內(nèi)容較為全面,而且我也相信有相當?shù)囊恍┕ぞ呖赡苁俏覀內(nèi)粘9ぷ骺赡軙姷交蛴玫降?。通過這篇文章,希望你能收獲更多。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI