Nosql-Redis
一 Redis持久化
- redis 持久化方式
假如redis宕机,那么缓存中的数据将会丢失,所以需要开启redis持久化,将redis中的数据异步写入磁盘,宕机后恢复即可。主要有2中方式:RDB,AOF
- RDB:对Redis中的数据进行周期性持久化,一般是5分钟。
- AOF:每个写入指令都存放在一个日志文件中,Redis重启时回放日志文件构建数据。
注意:如果RDB,AOF都开启了,Redis重启时默认使用AOF,因为AOF里的数据更加完整。
-
RDB优缺点:
- 生成数据库快照文件,每个文件代表某一时刻Redis中的数据,适合做冷备(数据库关闭后,进行备份;热备,数据库运行时进行备份。)。
- RDB对Redis的读写影响小,因为Redis只需要 fork 一个子进程,让子进程执行磁盘 IO 操作来进行 RDB 持久化即可。
- 基于 RDB 数据文件来重启和恢复 Redis 进程,更加快速。
- RDB每5分钟备份一次,可能丢失5分钟的数据。
- 因为RDB是对整个数据库生成快照,如果数据量特别大的话可能会使Redis暂停服务数毫秒甚至数秒。
-
AOF优缺点:
- AOF一般每隔一秒同步一次。最多丢失1秒的数据。
- AOF因为要每秒同步一次,所以性能上不如RDB。
-
建议使用RDB+AOF