Redis持久化面试题

  • 1.redis中有哪些持久化方式?
  • 2.RDB的工作原理
  • 3.RDB触发机制
  • 4.RDB持久化的缺点
  • 5.AOF的工作原理
  • 6.开启AOF
  • 7.AOF触发机制
  • 8.RDB和AOF的优缺点
  • 9.RDB和AOF的优先级

1.redis中有哪些持久化方式?

​ redis中的持久化有两种方式,分别是RDB和AOF,其中RDB是redis默认的持久化方式。

2.RDB的工作原理

​ RDB持久化方式会创建(fork)一个子进程,子进程中的数据信息和主进程中的数据信息完全相同,主进程进行客户端的数据交互,子进程进行磁盘的IO操作,子进程进行持久化时会产生一个临时文件,并将数据写入到这个临时文件当中,当持久化完成之后会将主线程中的dump.rdb文件替换掉。

3.RDB触发机制

​ RDB中有以下几种触发持久化的方式:

自动触发RDB持久化

  • redis.conf文件中有一个关于save的配置,如下图,如果900s内有一个数据进行了更新(增删改),那么就会持久化;如果在300s内有10条数据进行了更新那么就会持久化;如果在60s内有10000条数据进行了更新那么就会持久化。即更改数据越多,持久化周期越小。

  • 当使用"shutdown"命令关闭redis时会自动持久化

  • 当使用"fulldb"命令清除内存中的数据时会自动持久化

手动触发RDB持久化

  • 使用save/bgsave命令会持久化,save是使用主进程持久化,会使效率变低,不用;gbsave是使用子进程持久化。

4.RDB持久化的缺点

​ 当redis的服务器突然宕机之后,RDB还没来得及将数据持久化,会使数据丢失。

​ AOF就是来解决RDB丢失时间长的问题。

5.AOF的工作原理

​ 将Redis的操作日志以追加的方式写入文件,读操作是不记录的,当redis开机的时候,会将AOF日志文件中的命令进行读取操作。

​ AOF是将命令先记录在缓冲区缓冲区默认大小为1M,然后定时持久化到AOF持久化文件当中。AOF是没有fork主进程的,使用主进程进行的持久化。

6.开启AOF

​ redis中AOF默认是关闭的。

​ 在redis.conf文件中,将appendonly改为yes,如下:

7.AOF触发机制

​ AOF先将命令存在缓冲区,然后定时从缓冲区中向磁盘进行刷新,那么触发AOF从缓冲区向磁盘中刷新的机制是什么呢?

  • no:表示当缓冲区数据满了之后再同步到磁盘,这种显然不能使用,如果宕机之后,就会形成和RDB同样的问题。
  • always:同步持久化,每次发生数据变更时都会同步到磁盘。
  • everysec:表示一秒同步一次,这个也是默认值,但是可能会丢失1s以内的数据。

8.RDB和AOF的优缺点

  • RDB:适合数据恢复,数据丢失多
  • AOF:保证数据安全,恢复数据慢

9.RDB和AOF的优先级

​ 如果同时开启RDB和AOF的话,那么redis开机之后读取的持久化文件是AOF的持久化文件,并且持久化时是按照AOF的策略去走的。

Redis持久化面试题相关推荐

  1. 【腾讯阿里最全面试题】Redis持久化RDB和AOF 的区别

    跳槽必备: 嵌入式开发转互联网开发面经分享:嵌入式开发成功转战互联网行业 大厂offer的前置条件 学校学历,技术水准分析:大厂必备前置条件,项目经验 腾讯T9(原T3.1)offer,"8 ...

  2. Redis常见面试题6 -- 持久化方式之AOF以及混合模式

    持久化方式之AOF以及混合模式 目前主流Redis持久化:

  3. Redis常见面试题总结

    Redis常见面试题 持久化方式有哪些?有什么区别? redis持久化方案分为RDB和AOF两种. RDB RDB持久化可以手动执行也可以根据配置定期执行,它的作用是将某个时间点上的数据库状态保存到R ...

  4. 收集Redis 经典面试题

    本文的面试题如下: Redis 持久化机制 缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 ...

  5. Redis经典面试题

    本文分享一些Redis相关的经典面试题,看下你是不是都掌握了. 文章目录 Redis Redis redis优化策略 redis除了做缓存还能做什么? 说说redis持久化方式?分别优缺点是什么?re ...

  6. 七天玩转Redis 第七天打卡 Redis常见面试题及课程总结

    七天玩转Redis 第七天打卡 Redis常见面试题及课程总结 主要总结点: 截止到今天,七天玩转Redis课程就马上结束了,学以致用,那么学会了Redis,在找工作时会有哪些面试官爱问的问题呢? 一 ...

  7. Redis 知识点和面试题(持续更新ing)

    推荐 书籍 <Redis实战>,<Redis设计与实现>,<Redis使用手册> 视频 [[趣话Redis第二弹]Redis数据持久化AOF和RDB原理一次搞懂!- ...

  8. 2022年Redis最新面试题

    2022年Redis最新面试题 一.Redis基础知识 1.什么是 Redis, 有哪些优缺点? 2.Redis 最适合的场景, 可以简单的说说吗? 3.Redis 相比 Memcached 有哪些优 ...

  9. Redis 最全面试题及答案

    基础 缓存类型 本地缓存:本地缓存就是在进程的内存中进行缓存,比如我们的 JVM 堆中,可以用 LRUMap 来实现,也可以使用 Ehcache 这样的工具来实现.本地缓存是内存访问,没有远程交互开销 ...

最新文章

  1. U-Boot的LDS文件分析
  2. ReactNative-----环境搭建二(android)
  3. [HDU] 5444.Elven Postman (堆)
  4. Mybatis 动态Sql语句《常用》
  5. 数据结构——最小生成树之克鲁斯卡尔算法(Kruskal)
  6. 【HDU - 5627】Clarke and MST(最大生成树,与运算性质,最小生成树MST变形)
  7. 机器视觉支架制作(带效果测试)
  8. ajax应用_AJAX的应用
  9. python合并 txt
  10. javaweb男的gulp入手实践
  11. 全球最大电子展2018再度起航,镁客网在香港带你深度探讨人工智能
  12. 4.16访问日志不记录静态文件,访问日志切割以及静态元素过期时间
  13. html文章标题加粗,织梦去除推荐文章标题加粗标签的方法
  14. ps安装插件提示“无法加载扩展,因为它未正确签署”怎么办?PS插件未经签署解决方法
  15. 网络词典[U~Z](转)
  16. 学期学会的一些代码23333原创
  17. 后端返回图片二进制流,前端处理
  18. 苹果开发者账号续费不成功?提示你的支付授权失败?看这里...
  19. PHP程序提示验证码错误的问题(输入了正确的验证码)
  20. 电话用计算机接听,怎么用电脑打电话-现在你可以在电脑上接听安卓手机的电话了...

热门文章

  1. 前端大牛吐血分享:如何在 Web 开发中找到第一份工作?
  2. 华润大学ldap账号是什么_华润大学登陆平台
  3. android 判断双卡手机号码,android开发中如何判断手机中存在的sim卡数量?
  4. java对接微信电子小票功能
  5. 【随笔 || 逐源·无限可能】
  6. 教你如何应对BT-HR的问题
  7. Chrome离线下载
  8. 搭建个人网站需要选择什么样配置的服务器
  9. count(0)、count(1)和count(*)、count(列名) 的区别
  10. 【web安全】——web渗透的前缀知识