redis學(xué)習(xí)7---持久化相關(guān)測(cè)試RDB方式-創(chuàng)新互聯(lián)

1、redis 只做緩存配置

為企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站優(yōu)化、成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、競(jìng)價(jià)托管、品牌運(yùn)營(yíng)等營(yíng)銷(xiāo)獲客服務(wù)。創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營(yíng)銷(xiāo)運(yùn)營(yíng)團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營(yíng)銷(xiāo)經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營(yíng)銷(xiāo)獲客難題,做到“讓獲客更簡(jiǎn)單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營(yíng)銷(xiāo)”三大難題,同時(shí)降低了營(yíng)銷(xiāo)成本,提高了有效客戶(hù)轉(zhuǎn)化率,獲得了眾多企業(yè)客戶(hù)的高度認(rèn)可!

注釋掉RDB持久化的配置

添加內(nèi)存配置和回收配置 (maxmemory? 和 maxmemory-policy)

2、測(cè)試RDB持久化

2.1、關(guān)閉RDB持久化測(cè)試

編輯配置文件

# 關(guān)閉默認(rèn)的rdb持久化,注釋三行,添加一行

#save 900 1

#save 300 10

#save 60 10000

save ""

重啟redis服務(wù)

設(shè)置兩個(gè)值

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

(empty list or set)

127.0.0.1:6379> set k1 v1

OK

127.0.0.1:6379> set k2 v2

OK

127.0.0.1:6379> keys *

1) "k2"

2) "k1"

重啟redis服務(wù)

發(fā)現(xiàn)之前設(shè)置的值消失

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *?

(empty list or set)

說(shuō)明沒(méi)有關(guān)閉持久化的配置生效了

2.2、開(kāi)啟RDB持久化測(cè)試

恢復(fù)rdb的持久化配置并重啟服務(wù)

設(shè)置兩個(gè)值

redis-cli -h 192.168.121.121 -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> set k1 v1

OK

127.0.0.1:6379> set k2 v2

OK

192.168.121.121:6379> keys *

1) "k2"

2) "k1"

使用shutdown方式關(guān)閉服務(wù)

redis-cli -a Redis2019! shutdown

再次啟動(dòng)服務(wù)

查看值發(fā)現(xiàn)存在

redis-cli -a Redis2019!

127.0.0.1:6379> keys *

1) "k2"

2) "k1"

再設(shè)置兩個(gè)值

127.0.0.1:6379> set k3 v3

OK

127.0.0.1:6379> set k4 v4

OK

127.0.0.1:6379> keys *

1) "k3"

2) "k4"

3) "k2"

4) "k1"

使用kill命令殺掉redis進(jìn)程

再次查看值

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

1) "k1"

2) "k2"

發(fā)現(xiàn)后邊設(shè)置的值不見(jiàn)了,說(shuō)明使用shutdown方式關(guān)閉服務(wù),不會(huì)丟失數(shù)據(jù),但是殺掉進(jìn)程會(huì)丟失數(shù)據(jù),為什么呢?

因?yàn)橥ㄟ^(guò)redis-cli SHUTDOWN這種命令方式去停掉redis,其實(shí)是一種安全退出的模式,redis在退出的時(shí)候會(huì)將內(nèi)存中的數(shù)據(jù)立即生成一份完整的rdb快照保存到磁盤(pán)中。

redis進(jìn)程異常被殺掉,數(shù)據(jù)沒(méi)有進(jìn)dump文件,幾條最新的數(shù)據(jù)就丟失了。

設(shè)置save,save 5 1(每五秒鐘如果有超過(guò)1個(gè)key發(fā)生變化,則基于現(xiàn)在緩存中的數(shù)據(jù)進(jìn)行一個(gè)dump.rdb快照)

重啟服務(wù)

設(shè)置兩個(gè)值

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> set k5 v5

OK

127.0.0.1:6379> set k6 v6

OK

設(shè)置值之后等待5秒殺掉redis進(jìn)程

啟動(dòng)服務(wù)

查看值,發(fā)現(xiàn)新設(shè)置的值存在

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

1) "k5"

2) "k6"

3) "k1"

4) "k2"

2.3、save bgsave以及定時(shí)備份rdb文件

備份redis可以手動(dòng)使用SAVE命令,執(zhí)行SAVE命令會(huì)使用主進(jìn)程執(zhí)行快照操作,這意味著在SAVE的過(guò)程中,會(huì)阻塞主進(jìn)程。

另一種操作是使用BGSAVE,使用BGSAVE的話(huà)redis會(huì)fork出一個(gè)子進(jìn)程來(lái)執(zhí)行快照操作,而不影響主進(jìn)程。

首先刪除所有的key

然后設(shè)置新值

127.0.0.1:6379> set k1 v1

OK

127.0.0.1:6379> set k2 v2

OK

如果kill掉redis進(jìn)程,按說(shuō)設(shè)置的key都會(huì)消失

但是執(zhí)行save

127.0.0.1:6379> save

OK

殺掉redis進(jìn)程,然后啟動(dòng)redis服務(wù)

查看key,發(fā)現(xiàn)值還在

127.0.0.1:6379> keys *

1) "k2"

2) "k1

發(fā)現(xiàn)存在說(shuō)明save成功

設(shè)置新key并執(zhí)行bgsave

127.0.0.1:6379> set k3 v3

OK

127.0.0.1:6379> set k4 v4

OK

127.0.0.1:6379> bgsave

Background saving started

殺掉redis進(jìn)程,然后啟動(dòng)redis服務(wù)

查看key

127.0.0.1:6379> keys *

1) "k3"

2) "k4"

3) "k1"

4) "k2"

發(fā)現(xiàn)新建的key存在說(shuō)明bgsave成功

2.4、定時(shí)執(zhí)行腳本把rdb文件備份到遠(yuǎn)程服務(wù)器(前提是rsync主備機(jī)已經(jīng)安裝配置完成,且做了主備的免密登陸)

備份rdb文件到備機(jī)是為了萬(wàn)一主機(jī)redis數(shù)據(jù)丟失,可以恢復(fù)一定時(shí)間之前的數(shù)據(jù)。

mkdir /data/usr/shell

vi /data/usr/shell/redis_backrdb.sh?

#!/bin/bash

REDIS_DIR=/data/usr/redis-4.0.11/data

now="$(date -d'+0 day' +'%Y%m%d%H%M%S')"

REDIS_PW=Redis2019!

redis-cli -a $REDIS_PW save

[ $? -eq 0 ] && {

cp $REDIS_DIR/dump.rdb $REDIS_DIR/dump_${now}.rdb?

rsync -avz $REDIS_DIR/dump_${now}.rdb root@192.168.121.122:/backup

}

寫(xiě)定時(shí)任務(wù),每天凌晨0點(diǎn)5分執(zhí)行備份操作。

crontab -e

5 0 * * * /bin/sh /data/usr/shell/redis_backrdb.sh &>/dev/null

參考:

https://blog.csdn.net/baidu_41669919/article/details/79596209

https://cloud.tencent.com/info/0420774e51445c7dbc75dcb1ff6fe49c.html

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:redis學(xué)習(xí)7---持久化相關(guān)測(cè)試RDB方式-創(chuàng)新互聯(lián)
瀏覽地址:http://muchs.cn/article20/djipco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站設(shè)計(jì)公司、關(guān)鍵詞優(yōu)化網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)