面试被吊打 - Redis原理
Hollis
共 3376字,需浏览 7分钟
· 2021-05-10
unlink key
、flushdb async
、flushall async
等Redis 的大部分操作都在内存中完成,内存中的执行效率本身就很快,并且采用了高效的数据结构,比如哈希表和跳表。 使用单线程避免了多线程的竞争,省去了多线程切换带来的时间和性能开销,并且不会出现死锁。 采用 I/O 多路复用机制处理大量客户端的Socket请求,因为这是基于非阻塞的 I/O 模型,这就让Redis可以高效地进行网络通信,I/O的读写流程也不再阻塞。
AOF 日志(Append Only File,文件追加方式):记录所有的操作命令,并以文本的形式追加到文件中。 RDB 快照(Redis DataBase):将某一个时刻的内存数据,以二进制的方式写入磁盘。 混合持久化方式:Redis 4.0 新增了混合持久化的方式,集成了 RDB 和 AOF 的优点。
数据可能会丢失:如果 Redis 刚执行完命令,此时发生故障宕机,会导致这条命令存在丢失的风险。 可能阻塞其他操作:AOF 日志其实也是在主线程中执行,所以当 Redis 把日志文件写入磁盘的时候,还是会阻塞后续的操作无法执行。
save
和 bgsave
。save
命令在主线程中执行,会导致阻塞。而 bgsave
命令则会创建一个子进程,用于写入 RDB 文件的操作,避免了对主线程的阻塞,这也是 Redis RDB 的默认配置。面试官:
bgsave
的子线程实现的,具体操作如下:如果主线程执行读操作,则主线程和 bgsave
子进程互相不影响;如果主线程执行写操作,则被修改的数据会复制一份副本,然后 bgsave
子进程会把该副本数据写入 RDB 文件,在这个过程中,主线程仍然可以直接修改原来的数据。
要注意,Redis 对 RDB 的执行频率非常重要,因为这会影响快照数据的完整性以及 Redis 的稳定性,所以在 Redis 4.0 后,增加了 AOF 和 RDB 混合的数据持久化机制: 把数据以 RDB 的方式写入文件,再将后续的操作命令以 AOF 的格式存入文件,既保证了 Redis 重启速度,又降低数据丢失风险。
哨兵模式
Redis Cluster(集群)
面试官:
面试官:
根据键值对的 key,按照 CRC16 算法计算一个 16 bit 的值。 再用 16bit 值对 16384 取模,得到 0~16383
范围内的模数,每个模数代表一个相应编号的哈希槽。
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️
评论
私人影院 “美女陪侍” 被曝光!摸胸摸腿可外出…
在中国,我们都清楚黄赌毒一直是严打对象。尤其是那些涉黄活动,虽然禁止,但还是有人铤而走险。最近,长沙的一家私人影院被曝光涉及黄色事件。这到底怎么了?一个叫王某的消费者揭露了这一事件。他一直单身,看到影院推出的“恋爱体验”套餐就心动不已,结果去了之后发现踩空了,令人心寒。听说,基础服务要369元,包括
逆锋起笔
0
一女子与一男子在阳台上打扑克,被邻居偷拍后...
近日网络上又发生了一起疑似黄色谣言的事件:一女子与一男子在阳台上打扑克,被邻居偷拍后上传到网上,引发广泛舆论讨论。根据网传视频显示,一名穿着吊带睡衣的女子与一名光着上身的男性在阳台上交谈,随后开始打起扑克牌。这一幕被邻居拍下并上传至网络后,引发了许多网友的关注和猜测,其中大部分涉及到了不当的假设。当
逆锋起笔
0
好未来测开一面,挺简单!(0428面试原题解析)
大家好,我是二哥呀。今天继续给大家分享春招面试题《好未来测开一面原题》,附详细答案,我会用通俗易懂+手绘图的方式,让天下所有的面渣都能逆袭 😁二哥的 Java 面试指南内容较长,建议正在冲刺 24 届春招和 25 届暑期实习、秋招的同学先收藏起来,面试的时候大概率会碰到,1、二哥的 Linux 速查
沉默王二
0
阿里P9被裁,赔偿82w
上一篇:人到中年, 发现同学间差距了,学医的高薪且稳定,进国企的工资不高但稳定,考公的工资不高,却生活滋润一女生发帖称:阿里老公被裁了。阿里巴巴公司的裁员消息如同晴天霹雳,打破了我们原本宁静的生活。那天,微信上突然弹出的消息,让我们感到震惊,仿佛一道闪电划破了平静的天空。“震惊”这个词,远远不足以描
开发者全社区
0
王宝弱搭配牛蓉?无底线模仿被索赔650万
如今的短视频领域,不管是处罚规则还是用户群体,已经相当成熟了。所以,不管是普通人想要成为网红,还是网红们想要吸引更多流量,都面临一定的挑战。要么内容得很吸引人,要么话题要足够受欢迎,不然想要持续吸引流量可不容易。于是,一些网红就想着走点歪门邪道,没流量就创造流量,没话题就自己制造话题...
这种行
逆锋起笔
0
字节员工:35岁以后被裁员的,后来都走了哪条路?现在2-2,要不要利用最后一年拼命上个岸。
架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。
公众号该公众号已被封禁在当今竞争激烈的职场环境中,年龄并不总是一个决定性
源码共读
0
三年前端还不会配置Nginx,被老板打了,今天一口气学完
大厂技术 高级前端 Node进阶点击上方 程序员成长指北,关注公众号回复1,加入高级Node交流群引言先来看看为何需要做请求负载。 早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务
程序员成长指北
4
【送书福利】《Java面试八股文:高频面试题与求职攻略一本通》
先来唠唠最近粉丝面试回来跟我聊天,基本上都提到一个点,在面试过程中八股文占比很高(八股文70%、项目20%、10%算法)除了一些搞算法突出的厂除外。其实现在很多厂八股都是逐渐深入的方式来问,所以大家在学习的过程中,针对一些重点的内容,最好深入去学习,不然还是比较难应对这种追问式的问题。最近刚好从一位
Java后端技术
0