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作为缓存数据的持久化是怎么做的呢

相关推荐
童谣11 小时前
越华环保集团市级统筹申报数字化中台:政策校验与减排仿真一体化架构
数据库·架构
制造数据与AI践行者老蒋1 小时前
离谱!PromptTemplate 遇上 JSON,花括号直接引发解析战争
数据库·microsoft·json
中微极客1 小时前
用LangChain 0.3构建生产级RAG与Agent:从API集成到Streamlit部署
数据库·人工智能·langchain
吴声子夜歌1 小时前
MongoDB 4.x——并发优化
数据库·mongodb
我叫黑大帅2 小时前
git 的 NFD 与 NFC 有什么区别?为什么我有个文件在 NFC 中间不会被当成改动,在 NFD 中就会当成改动
git·面试·github
我叫黑大帅2 小时前
add()和 __add__() 写法哪个更好呢?
后端·python·面试
不如语冰2 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
程序员天天困2 小时前
Java 项目用 Single-flight 一招终结 AI 接口重复调用
redis·后端
VX_bysjlw9853 小时前
基于微信小程序的宠物用品商城系统-后端74346-计算机毕设原创(免费领源码+带部署教程)
java·redis·微信小程序·eclipse·mybatis·idea·微信开发者工具
l1t4 小时前
DeepSeek总结的DuckLake 架构深度剖析-2
数据库·架构