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

相关推荐
高铭杰1 小时前
Postgresql源码(149)SIMD应用与性能测试
数据库·postgresql·sse·simd
来碗原味的小米粥吧1 小时前
sql题目基础50题
linux·数据库·sql
安当加密1 小时前
PostgreSQL透明加密(TDE)技术深度解析:从实现原理到国密合规实践
数据库·postgresql·区块链
云和数据.ChenGuang1 小时前
MongoDB 认证失败(错误码 18)
数据库·mongodb
聪明的笨猪猪1 小时前
Java “并发工具类”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
程序新视界2 小时前
一篇文章详解你不知道的MySQL JSON数据类型
数据库·mysql·json
程序员麻辣烫2 小时前
Redis过期策略与内存淘汰策略
redis
卷Java2 小时前
用户权限控制功能实现说明
java·服务器·开发语言·数据库·servlet·微信小程序·uni-app
荣光波比3 小时前
MySQL数据库(八)—— MySQL全量+增量备份方案:从脚本开发到连锁餐饮场景落地
运维·数据库·mysql·云计算
GISer_Jing7 小时前
明天好好总结汇总分析博客
前端·javascript·面试