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

相关推荐
前进的李工16 分钟前
SQL聚合函数与分组查询详解
数据库·sql·mysql
Li_76953233 分钟前
Redis 进阶(一) —— 持久化
redis
2301_800050992 小时前
mysql
数据库·笔记·mysql
liang_jy2 小时前
Android 事件分发机制(二)—— 点击事件透传
android·面试·源码
数据皮皮侠2 小时前
2m气温数据集(1940-2024)
大数据·数据库·人工智能·制造·微信开放平台
零雲2 小时前
java面试:知道java的反射机制吗
java·开发语言·面试
Psycho_MrZhang2 小时前
Redis 设计思想总结
数据库·redis·缓存
曹牧4 小时前
Java:Assert.isTrue()
java·前端·数据库
你不是我我4 小时前
【Java 开发日记】我们来说一说 Redis 主从复制的原理及作用
java·redis·github
程序员葫芦娃4 小时前
【Java毕设项目】基于SSM的旅游资源网站
java·开发语言·数据库·编程·课程设计·旅游·毕设