亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

redis學習7---持久化相關測試RDB方式

發布時間:2020-07-16 13:15:04 來源:網絡 閱讀:273 作者:斷臂人 欄目:關系型數據庫

1、redis 只做緩存配置


注釋掉RDB持久化的配置


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


2、測試RDB持久化


2.1、關閉RDB持久化測試

編輯配置文件

# 關閉默認的rdb持久化,注釋三行,添加一行

#save 900 1

#save 300 10

#save 60 10000

save ""


重啟redis服務


設置兩個值

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服務


發現之前設置的值消失

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)


說明沒有關閉持久化的配置生效了


2.2、開啟RDB持久化測試

恢復rdb的持久化配置并重啟服務


設置兩個值

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方式關閉服務

redis-cli -a Redis2019! shutdown


再次啟動服務


查看值發現存在

redis-cli -a Redis2019!

127.0.0.1:6379> keys *

1) "k2"

2) "k1"


再設置兩個值

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進程


再次查看值

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"


發現后邊設置的值不見了,說明使用shutdown方式關閉服務,不會丟失數據,但是殺掉進程會丟失數據,為什么呢?

因為通過redis-cli SHUTDOWN這種命令方式去停掉redis,其實是一種安全退出的模式,redis在退出的時候會將內存中的數據立即生成一份完整的rdb快照保存到磁盤中。

redis進程異常被殺掉,數據沒有進dump文件,幾條最新的數據就丟失了。


設置save,save 5 1(每五秒鐘如果有超過1個key發生變化,則基于現在緩存中的數據進行一個dump.rdb快照)

重啟服務


設置兩個值

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


設置值之后等待5秒殺掉redis進程


啟動服務


查看值,發現新設置的值存在

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以及定時備份rdb文件

備份redis可以手動使用SAVE命令,執行SAVE命令會使用主進程執行快照操作,這意味著在SAVE的過程中,會阻塞主進程。

另一種操作是使用BGSAVE,使用BGSAVE的話redis會fork出一個子進程來執行快照操作,而不影響主進程。


首先刪除所有的key


然后設置新值

127.0.0.1:6379> set k1 v1

OK

127.0.0.1:6379> set k2 v2

OK


如果kill掉redis進程,按說設置的key都會消失


但是執行save

127.0.0.1:6379> save

OK


殺掉redis進程,然后啟動redis服務


查看key,發現值還在

127.0.0.1:6379> keys *

1) "k2"

2) "k1


發現存在說明save成功


設置新key并執行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進程,然后啟動redis服務


查看key

127.0.0.1:6379> keys *

1) "k3"

2) "k4"

3) "k1"

4) "k2"


發現新建的key存在說明bgsave成功


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

備份rdb文件到備機是為了萬一主機redis數據丟失,可以恢復一定時間之前的數據。


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

}


寫定時任務,每天凌晨0點5分執行備份操作。

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云龙县| 桂东县| 泰安市| 芜湖市| 山东省| 宁安市| 雅安市| 光泽县| 安岳县| 凌海市| 凭祥市| 新源县| 肥乡县| 平原县| 崇义县| 玉树县| 建宁县| 洛扎县| 永寿县| 澎湖县| 浑源县| 山东| 依兰县| 漳浦县| 黑龙江省| 吕梁市| 油尖旺区| 阳原县| 铜梁县| 汨罗市| 乌拉特前旗| 迭部县| 监利县| 津南区| 郧西县| 武安市| 札达县| 南召县| 鲁甸县| 青田县| 赤壁市|