(七)Redis之持久化之RDB方式
一、持久化概念
- 所有的数据都存在内存中,从内存当中同步到硬盘上,这个过程叫做持久化过程。
-
使用方法:
1. rdb持久化方法:在指定的时间间隔写入硬盘
2. aof方式:将以日志,记录每一个操作,服务器启动后就构建数据库。
二、RDB方式
- Redis是默认支持的
-
优势:只有一个文件,时间间隔的数据,可以归档为一个文件,方便压缩转移(就一个文件)
劣势:如果宕机,数据损失比较大,因为它是没一个时间段进行持久化操作的。也就是积攒的数据比较多,一旦懵逼,就彻底懵逼了
-
这里save 900 1 表示 每900秒内至少有1个ker发生变化,就持久化
save 300 10表示 每300秒内至少有10个key发生变化,就持久化
save 60 10000表示 每60秒内至少有10000个key发生变化,就持久化
- 这里有个dbfilename配置 是 保存的持久化的文件名 默认是dump.rdb
- dir ./ 表示文件存储路径是当前路径;
三、Redis 数据备份与恢复
3.1 数据备份
-
语法
redis Save 命令基本语法如下:
127.0.0.1:6379> SAVE
-
实例
127.0.0.1:6379> SAVE
OK
该命令将在 redis 备份目录中创建dump.rdb文件。
3.2 恢复数据
- 1、获取备份目录
127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "D:/Radis"
以上命令 CONFIG GET dir 输出的 redis 备份目录为D:/Radis。
2、停止redis服务
127.0.0.1:6379> shutdown
3、拷贝备份文件到 D:/Radis 目录下
4、重新启动redis服务
5、已经全部搞定了,下面查看一下数据是否恢复了吧
127.0.0.1:6379> dbsize
(integer) 12
127.0.0.1:6379> keys *
1) "name"
2) "set-key"
3) "item"
4) "test-key3"
5) "test-key2"
6) "hash-key"
7) "test-key1"
8) "key3"
9) "list-key"
10) "key4"
11) "key1"
12) "list-key2"
3.3 总结
平时我们可以定期把rdb文件(不重要的数据)备份到指定地方,需要恢复的时候 直接把rdb搞到redis下即可。而重要的数据则存放到数据库中。