Redis面试相关

数据过期策略

惰性删除

当用到那个key的时候再检查是否过期,过期则删除,有效则返回key

优点是可以节省检查过期的时间 缺点是会浪费内存

定期删除

每隔一段时间对一些key进行检查并且删除里面的过期key

有两种模式

slow模式是定时任务,频率是10HZ,执行时间不超过25ms,可以通过配置文件调整频率

fast模式执行频率不固定,每次间隔不低于2ms,执行时间不超过1ms

Redis是惰性删除加定期删除都使用

8种内存淘汰策略

集群模式:

主从复制

哨兵模式

分片集群

主从复制中数据同步的流程

全量同步:主节点通过replicationid判断是不是第一次同步,如果是第一次同步需要进行一次bgsave生成rdb文件进行同步,然后把生成的rdb文件传输给从节点,rdb期间执行的命令会记录在日志文件中。

增量同步(slave重启或者后期数据变化):如果不是第一次同步就读从库传给主库的offset后的命令。

redis是单线程的为什么还那么快

redis是纯内存操作,执行速度非常快

采用单线程避免不必要的上下文切换,多线程还要考虑线程安全问题

采用I/O多路复用模型,非阻塞IO

解释一下I/O多路复用模型

redis是纯内存操作性能瓶颈是网络延迟而不是执行速度,I/O多路复用模型就实现了高效的网络请求

redis作为缓存数据的持久化是怎么做的呢

相关推荐
梁辰兴17 小时前
软件工程:数据库设计
数据库·软件工程·数据库设计·逻辑设计·概念设计·梁辰兴·物理设计
10mAh17 小时前
【Git】误删分支、reset --hard 后提交丢了怎么办?——reflog、fsck 与安全恢复实战
数据库·git·安全·回归
J_bean17 小时前
剖析 MySQL InnoDB 共享行锁 (S) & 排他行锁 (X)
数据库·mysql·共享行锁·s lock·排他行锁·x lock
Lumistory17 小时前
城市景观亮化设施维护管养的核心痛点与标准化解决方案
数据库·光照贴图
倒流时光三十年17 小时前
第六阶段 57 · ES|QL 与 SQL API(用 SQL 查 ES)
数据库·sql·elasticsearch
码匠许师傅17 小时前
【C++ 面试真题】聊聊 C++ 的虚函数和多态
java·c++·面试
breeze jiang18 小时前
Next.js App Router 父子组件 RSC 拆分实战:从 Redis Hash 到客户端交互的最小化边界
javascript·redis·哈希算法
努力进修18 小时前
“数据心脏” 驱动能源自主:国产数据库支撑 Cemsol 实现固井全流程数字化闭环
数据库·人工智能·能源
vHelios18 小时前
SQL不会写?不会找关联表?复杂SQL语句编写逻辑实现思路请查收✉
数据库·sql
艾莉丝努力练剑19 小时前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试