所有的数据都存在内存中,从内存当中同步到硬盘上,这个过程叫做持久化过程。
持久化操作,两种方式:rdb方式、aof方式,可以单独使用或者结合使用。
使用方法:
rdb持久化方法:在指定的时间间隔写入硬盘
aof方式:将以日志,记录每一个操作,服务器启动后就构建数据库。
配置可以禁用 持久化功能。
也可以同时使用两种方式。
可以通过持久化达到数据的备份和转移
现在就来介绍一种方式 rdb方式
这里save 900 1 表示 每900秒内至少有1个kery发生变化,就持久化
save 300 10表示 每300秒内至少有10个key发生变化,就持久化
save 60 10000表示 每60秒内至少有10000个key发生变化,就持久化
这里有个dbfilename配置 是 保存的持久化的文件名 默认是dump.rdb
dir ./ 表示文件存储路径是当前路径
测试备份/恢复数据
进入redis客户端,查看数据
127.0.0.1:6379> keys *
1) "wxf"
2) "name"
3) "ex"
127.0.0.1:6379> get name
"1"
127.0.0.1:6379> get wxf
"\xe6\x88\x91\xe5\xbe\x88\xe5\xbc\xba"
备份数据持久化文件
cp dump.rdb /usr/local/java
关闭服务删除rdb文件
rm -rf dump.rdb
连接redis客户端
127.0.0.1:6379> keys *
(empty list or set)
没数据了,继续关闭服务,把copy的文件放回来
cp /usr/local/java/dump.rdb /usr/local/redis
启动服务
[root@izuf6400c3ysl2hbzveiciz redis]# ./bin/redis-server ./redis.conf
[root@izuf6400c3ysl2hbzveiciz redis]# ./bin/redis-cli
127.0.0.1:6379> keys *
1) "ex"
2) "name"
3) "wxf"
127.0.0.1:6379> get name
"1"
完成数据恢复。
第二种方式介绍 aof方式
AOF方式:将以日志,记录每一个操作
优势:安全性相对RDB方式高很多;
劣势:效率相对RDB方式低很多
编辑redis.config
appendonly no默认关闭aof方式 我们修改成yes 就开启
下面那个是默认的aof文件名
这里是三种同步策略:
always 是 只要发生修改,立即同步 (推荐实用 安全性最高)
everysec 是 每秒同步一次
no是不同步
我们修改成always
恢复数据的方式和rdb方式一致,拷贝文件到相应目录即可。