-
数据持久化是什么
. 数据持久化就是将内存中的数据模型转化为存储模型,以及将存储模型转化为内存模型的统称。 -
Redis的数据都存放在内存中,如果没有数据持久化,redis重启后数据就会全部丢失,于是需要redis的持久化功能将数据保存在磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式的数据持久化,rdb持久化(将redis在内存中的数据记录定时的dump到磁盘上),aof(将Redis的操日志以追加的方式写入文件中)
-
rdb:在指定的时间间隔内,将内存中的数据写道磁盘上。redis会单独的创建(fork)一个子进程来进行持久化。会先将数据写到一个临时文件中,等持久化结束后,在用临时文件替换上次已经持久化的文件。
-
AOF:以日志的形式记录每个写操作,将Reids中执行的所有写操作(读操作不会)都会记录下来,只能追加文件,不能改写文件
-
rdb的优缺点
- 需要进行大规模的数据的恢复,对数据的精度的要求不是很敏感,rdb比aof更高效
- 系统一旦在持久化之前出现宕机的现象,还没来的及写入磁盘的数据都将会丢失
-
aof的优缺点
- 在写入过程中即使出现宕机现象,也不会破坏日志中已经存在的内容,并且还可以通过redis-check-aof来帮助解决数据的一致性的问题。
- 对于相同数量的数据,aof文件通常要大于rdb文件。rdb在恢复大数据集时的速度要比aof的速度快
rdb和aof的区别以及它们各自的优缺点
最新推荐文章于 2024-08-22 14:43:38 发布