Java高频面试题- 每日三连问?「Day2」—Redis篇2

作者 | 浩说编程
来源 | 公众号:浩说编程
[ 大厂技术资源 | 研发必备安装包 | 限时免费获取 ]

Java高频面试题- 每日三连问?「Day2」—Redis篇2

问题导读

一、你对Redis的持久化了解吗?

追问-1:能否说一下Redis持久化有几种方式?

二、聊一下Redis的内存淘汰机制吧

三、Redis为什么是单线程的?

Java高频面试题- 每日三连问?「Day2」—Redis篇2


一、你对Redis的持久化有了解吗?

Java高频面试题- 每日三连问?「Day2」—Redis篇2

正经回答:

Redis持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。


深入追问:

追问-1:能否说一下Redis持久化有几种方式?

Redis有两种持久化机制,分别是RDB(默认) 和 AOF 机制。

1、RDB–Redis DataBase缩写快照:

按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump.rdb。通过配置文件中的save参数来定义快照的周期。:

Java高频面试题- 每日三连问?「Day2」—Redis篇2

2、AOF–Append Only File:

将Redis执行的每次写命令记录到单独的日志文件中,当重启Redis会重新将持久化的日志中文件恢复数据。

Java高频面试题- 每日三连问?「Day2」—Redis篇2

当两种方式同时开启时,数据恢复Redis会优先选择AOF恢复。

Java高频面试题- 每日三连问?「Day2」—Redis篇2

码文不易
你的关注是浩说编程持续更新的动力
浩说编程会做的更好


二、聊一下Redis的内存淘汰机制吧

正经回答:

redis内存淘汰机制大概有下面这几种:

Java高频面试题- 每日三连问?「Day2」—Redis篇2


三、Redis为什么是单线程的?

正经回答:

官方FAQ表示,因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。

既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了(毕竟采用多线程会有很多麻烦!)。

Redis利用队列技术将并发访问变为串行访问。

优点:

1、绝大部分请求是纯粹的内存操作(非常快速)

2、采用单线程,避免了不必要的上下文切换和竞争条件

3、非阻塞IO优点:


每日小结

如果你的朋友也在准备面试,请将这个系列分享给他,如果他认真对待,肯定会感谢你的!!

好了,今天就到这里,学废了的同学,记得三连,也会给我继续更新的动力。

作者 | 浩说编程
来源 | 公众号:浩说编程
[ 大厂技术资源 | 研发必备安装包 | 限时免费获取 ]

展开阅读全文

页面更新:2024-03-21

标签:求是   快照   原子   瓶颈   正经   持久   机制   内存   操作   方式   文件   时间   数据   技术   科技   空间

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top