Redis 核心知识点常考面试题(持续更新中)

Redis 核心知识点常考面试题(持续更新中)

Redis单线程IO多路复用原理

参考文章:Redis 网络IO模型简介

Redis缓存穿透、缓存雪崩、缓存击穿问题

1、参考视屏【P17-P20】:https://www.bilibili.com/video/BV1TV411K7rz?p=17

2、参考文章:Redis缓存穿透、缓存击穿和缓存雪崩(包含解决方案)

Redis与数据库双写不一致问题

1、参考视屏【P21-P24】:https://www.bilibili.com/video/BV1TV411K7rz?p=21

2、参考文章:Redis的缓存与数据库双写不一致问题

基于Redis实现分布式锁的的应用场景

参考视屏【P21-P33】:https://www.bilibili.com/video/BV1TV411K7rz?p=21

Redis持久化方式

参考文章:Redis 两种持久化方式 AOF 和 RDB

Redis内存淘汰机制

volatile监测的是设置过期时间的数据,allkeys监测的是所有数据(详细参考Redis的内存淘汰机制):

1、volatile-lru(least recently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰

2、volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰

3、volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰

4、allkeys-lru(least recently used):当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key(这个是最常用的)

5、allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰

6、no-eviction:禁止驱逐数据,也就是说当内存不足以容纳新写入数据时,新写入操作会报错。这个应该没人使用吧!
【4.0 版本后增加以下两种】

7、volatile-lfu(least frequently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最不经常使用的数据淘汰

8、allkeys-lfu(least frequently used):当内存不足以容纳新写入数据时,在键空间中,移除最不经常使用的key

Redis删除策略

参考文章:Redis 删除策略的三种实现:定时删除、定期删除、惰性删除。

Redis主从复制、哨兵、集群

参考文章:Redis集群的三种方式详解(附优缺点及原理区别)

Redis集群分片规则与一致性Hash

1、Redis集群分片规则:利用一致性hash实现hash分槽。

2、Redis集群一致性Hash算法

相关推荐
我是唐青枫6 小时前
终于不用手搓两级缓存了!C#.NET HybridCache 详解:L1 L2、标签失效与防击穿实战
redis·缓存·c#·.net
.柒宇.12 小时前
Redis主从复制集群搭建详解
数据库·redis·缓存·主从复制
IT策士13 小时前
Python 中间件系列:redis 深入浅出
redis·python·中间件
小猿姐13 小时前
GitLab on Kubernetes:使用 KubeBlocks 部署生产级高可用 PostgreSQL 和 Redis
redis·postgresql·kubernetes
phltxy14 小时前
Redis 常见数据类型之全局通用命令详解
数据库·redis·bootstrap
難釋懷15 小时前
Redis网络模型-用户空间和内核态空间
网络·arm开发·redis
薪火铺子15 小时前
布隆过滤器原理与 Redis 防穿透实战
数据库·redis·缓存
S1998_1997111609•X15 小时前
哈希树阻断正常系统通信工程进行函数钩子解析
安全·百度·缓存·哈希算法·量子计算
.柒宇.16 小时前
Redis高频面试题与跳跃表原理详解
数据库·redis·缓存
未若君雅裁17 小时前
Redis 和 MySQL 双写一致性:延迟双删、读写锁、MQ、Canal 怎么选?
数据库·redis·面试