Redis数据持久化的意义
Redis的数据是存储在内存中的,数据持久化主要应用于Redis服务重启时恢复部分数据
-
RDB:
-
将内存中Redis存储的数据定期以快照的形式存储到硬盘
-
拍照片
-
-
AOF:
-
记录Redis曾经执行过的所有的写操作到文本文件
-
写日记
-
先看看基本操作如何实现两者的持久化方式:
Redis服务器准备
##server55主机用于后续实验
#同步Yum源
[root@server55 ~]# rm -rf /etc/yum.repos.d/*
[root@server55 ~]# scp 192.168.88.240:/etc/yum.repos.d/*.repo /etc/yum.repos.d/
[root@server55 ~]# yum clean all; yum repolist
...
repolist: 10,085
[root@server55 ~]#
#编译安装Redis
[root@server55 ~]# ls redis-4.0.8.tar.gz
redis-4.0.8.tar.gz
[root@server55 ~]# yum -y install gcc
[root@server55 ~]# tar -xf redis-4.0.8.tar.gz
[root@server55 ~]# cd redis-4.0.8/
[root@server55 redis-4.0.8]# make && make install
[root@server55 redis-4.0.8]# ./utils/install_server.sh #一路回车
...
Installation successful!
[root@server55 redis-4.0.8]# cd
[root@server55 ~]#
#Redis服务初始化
[root@server55 ~]# ss -pantul | grep redis
tcp LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=4672,fd=6))
[root@server55 ~]#
RDB测试
##查看RDB相关配置
[root@server55 ~]# vim /etc/redis/6379.conf
[root@server55 ~]# sed -rn '219,221p;254p;264p' /etc/redis/6379.conf
save 900 1 #900s内有1个变量变化
save 300 10 #300s内有10个变量变化
save 60 10000 #60s内有10000个变量变化
dbfilename dump.rdb #rdb文件名
dir /var/lib/redis/6379 #rdb文件存储位置
[root@server55 ~]#
##验证触发RDB存储的3种情况
#手工触发
[root@server55 ~]# ls /var/lib/redis/6379/