Redis持久化面试题
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持久化面试题相关推荐
- 【腾讯阿里最全面试题】Redis持久化RDB和AOF 的区别
跳槽必备: 嵌入式开发转互联网开发面经分享:嵌入式开发成功转战互联网行业 大厂offer的前置条件 学校学历,技术水准分析:大厂必备前置条件,项目经验 腾讯T9(原T3.1)offer,"8 ...
- Redis常见面试题6 -- 持久化方式之AOF以及混合模式
持久化方式之AOF以及混合模式 目前主流Redis持久化:
- Redis常见面试题总结
Redis常见面试题 持久化方式有哪些?有什么区别? redis持久化方案分为RDB和AOF两种. RDB RDB持久化可以手动执行也可以根据配置定期执行,它的作用是将某个时间点上的数据库状态保存到R ...
- 收集Redis 经典面试题
本文的面试题如下: Redis 持久化机制 缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 ...
- Redis经典面试题
本文分享一些Redis相关的经典面试题,看下你是不是都掌握了. 文章目录 Redis Redis redis优化策略 redis除了做缓存还能做什么? 说说redis持久化方式?分别优缺点是什么?re ...
- 七天玩转Redis 第七天打卡 Redis常见面试题及课程总结
七天玩转Redis 第七天打卡 Redis常见面试题及课程总结 主要总结点: 截止到今天,七天玩转Redis课程就马上结束了,学以致用,那么学会了Redis,在找工作时会有哪些面试官爱问的问题呢? 一 ...
- Redis 知识点和面试题(持续更新ing)
推荐 书籍 <Redis实战>,<Redis设计与实现>,<Redis使用手册> 视频 [[趣话Redis第二弹]Redis数据持久化AOF和RDB原理一次搞懂!- ...
- 2022年Redis最新面试题
2022年Redis最新面试题 一.Redis基础知识 1.什么是 Redis, 有哪些优缺点? 2.Redis 最适合的场景, 可以简单的说说吗? 3.Redis 相比 Memcached 有哪些优 ...
- Redis 最全面试题及答案
基础 缓存类型 本地缓存:本地缓存就是在进程的内存中进行缓存,比如我们的 JVM 堆中,可以用 LRUMap 来实现,也可以使用 Ehcache 这样的工具来实现.本地缓存是内存访问,没有远程交互开销 ...
最新文章
- U-Boot的LDS文件分析
- ReactNative-----环境搭建二(android)
- [HDU] 5444.Elven Postman (堆)
- Mybatis 动态Sql语句《常用》
- 数据结构——最小生成树之克鲁斯卡尔算法(Kruskal)
- 【HDU - 5627】Clarke and MST(最大生成树,与运算性质,最小生成树MST变形)
- 机器视觉支架制作(带效果测试)
- ajax应用_AJAX的应用
- python合并 txt
- javaweb男的gulp入手实践
- 全球最大电子展2018再度起航,镁客网在香港带你深度探讨人工智能
- 4.16访问日志不记录静态文件,访问日志切割以及静态元素过期时间
- html文章标题加粗,织梦去除推荐文章标题加粗标签的方法
- ps安装插件提示“无法加载扩展,因为它未正确签署”怎么办?PS插件未经签署解决方法
- 网络词典[U~Z](转)
- 学期学会的一些代码23333原创
- 后端返回图片二进制流,前端处理
- 苹果开发者账号续费不成功?提示你的支付授权失败?看这里...
- PHP程序提示验证码错误的问题(输入了正确的验证码)
- 电话用计算机接听,怎么用电脑打电话-现在你可以在电脑上接听安卓手机的电话了...
热门文章
- 前端大牛吐血分享:如何在 Web 开发中找到第一份工作?
- 华润大学ldap账号是什么_华润大学登陆平台
- android 判断双卡手机号码,android开发中如何判断手机中存在的sim卡数量?
- java对接微信电子小票功能
- 【随笔 || 逐源·无限可能】
- 教你如何应对BT-HR的问题
- Chrome离线下载
- 搭建个人网站需要选择什么样配置的服务器
- count(0)、count(1)和count(*)、count(列名) 的区别
- 【web安全】——web渗透的前缀知识