【面经总结之数据库】

1.Redis的两种存储策略RDB和AOF

RDB

通过父进程创建了一个子进程,该子进程的作用是将 redis 内存中的数据快照一份下来,写入一个临时的 RDB 文件,然后等持久化完毕后,然后覆盖掉上一次的 RDB 文件。这个过程主进程不进行任何 IO 操作,所以保证了 Redis 的极高性能。
在这里插入图片描述
触发机制:
1.满足了 save 的规则, 2.执行了 flushall 命令, 3.退出 redis
优点:
适合大规模的数据恢复
对数据的完整性要求不高
缺点:
需要一定的时间间隔进行操作!如果中途宕机,那么最后一次修改的数据的就没了fork 进度的时候,会占用一定的内存空间。

AOF

与快照持久化相比,AOF 持久化的实时性更好,但是 redis 的默认不是 AOF,所以要去配置文件中开启。
只追加文件,那么追加的是什么呢?什么会更改数据呢?当然是写操作了。所以 AOF 干的事就是把写操作都给他记录下来,重启 redis 之后,再执行这个记录了写操作的文件appendonly.aof
就算这个 aof 有错误,redis 内部有一个 redis-check-aof 可以去修复 aof 文件
持久化方式:在这里插入图片描述
1.每次修改都记录
2.一秒记录一次
3.操作系统自己同步数据
重写机制:
AOF 随着命令的越来越多,他的容量也会越来越大。但是数据库的数据是可以由不同的语句得到。比如 list,我们先分别 rpush A~F,然后在 lpop A~B。那么 AOF 文件直接存 rpush C~F 即可,这就节约空间
了。这就是其中有些命令是可以多行合并成一行的!!
优点:
1.不容易丢失数据,因为复制频率高。
缺点:
1.对于数据文件来说,aof 远远大于 rdb,修复的速度也比 rdb 慢!
2.aof 运行效率也比 rdb 慢,所以 redis 的默认配置是 rdb.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值