面试笔记1-redis

1、什么是RDB?
RDB实际上是Redis的一种数据持久化机制。它每隔一段时间就会把内存中的数据写入到磁盘中的临时文件,作为快照,宕机重启之后,就会把rdb文件读取到内存中去,就可以恢复数据。

2.备份和恢复
内存备份 -> 磁盘临时文件
临时文件 -> 恢复到内存

3.rdb优劣势
优势:
1.每隔一段时间备份,全量备份
2.恢复简单,可以远程传输
3.子进程备份的时候,父进程不会有io操作(不会有写入修改或删除操作),保证备份数据的完整性
4.相对AOF来说,大文件可以快速重启恢复
劣势:
1.发生故障时,有可能丢失数据
2.子进程所占用的内存比和父进程的一模一样,造成cpu的负担
3.由于定时全量备份是重量级操作,所以对实时备份就无法处理了。

4.RDB的位置
1.保存的位置,可以在redis.conf 中定义
dir /usr/local/redis/working
2.保存机制
save 秒数 更新操作次数
save 900 1
save 300 10
save 60 10000
解析:
如果1个缓存更新,则900秒之后备份
如果10个缓存更新,则300秒之后备份
如果60个缓存更新,则60秒之后备份

1.stop-writes-on-bgsave-error
yes: 如果save过程出错,则停止写操作
no:可能造成数据不一致
2.rdbcompression
yes:开启rdb压缩模式
no:关闭,会节约cpu损耗,但文件会比较大,道理同nginx
3.rdbchecksum
yes:使用CRC64算法校验,对rdb进行数据校验,有10%性能损耗
no:不校验
总结:RDB适合大量数据的恢复,但数据完整性和一致性会有不足。

posted @ 2022-12-29 17:48  呱呱二号  阅读(12)  评论(0编辑  收藏  举报