缓存常见问题

缓存问题:

  1. 缓存穿透:访问一个不存在的缓存

  2. 缓存击穿:大批用户访问热点数据的时候,热点数据缓存失效,大量访问数据库

  3. 缓存雪崩:大批量缓存全部失效

Redis和Memcached区别:

  1. Redis可操作数据类更加丰富,memcached只有单一的键值对

  2. memcached没有原生的集群,需要依靠客户端往集群中写入数据,Redis的原生cluster集群更加优秀

Redis的单线程模型原理机制:

* socket--IO多路复用--文件事件分派器--连接应答处理器

为什么Redis单线程效率还很高?

* 纯内存操作

* 核心是基于非阻塞的IO多路复用机制的

* 单线程避免了多线程切换上下文的操作

Redis满了如何处理?

* 内存淘汰机制

* allkeys-lru:当空间不足以写入新数据时,在键空间中,移除最近最少使用的key

处理10万+的数据并发?

* 主从架构--读写分离--支撑10万+QPS架构

* 主负责写操作,从用来读操作

相关推荐
南部余额5 分钟前
RabbitMQ 进阶:延迟队列完全指南
java·分布式·spring·rabbitmq
phltxy7 分钟前
Spring AI Agents 智能体模式实战
java·人工智能·spring
摇滚侠17 分钟前
MyBatis 入门到项目实战 特殊 SQL 的执行 34-37
java·sql·mybatis
phltxy1 小时前
Spring AI 可观测性与 Zipkin 实战
java·人工智能·spring
兰令水1 小时前
leecodecode【面试150】【2026.6.13打卡-java版本】
java·算法·leetcode
.道阻且长.1 小时前
C++ string 操作指南:接口解析
java·c语言·开发语言·c++
蚰蜒螟1 小时前
Java 对象的内存密语:从字段偏移量计算到 Unsafe 访问的完整链路
java·开发语言
IT 行者1 小时前
GitHub Spec Kit 实战(六):/speckit.implement 怎么用、怎么审、怎么发现 spec 阶段的遗漏——五部曲收官
java·驱动开发·github·ai编程·claude
星辰_mya1 小时前
CountDownLatch深度解析
java·开发语言·后端·架构
伊甸31 小时前
从企业级项目学敏感词过滤:DFA算法与双层缓存实战
java·算法·缓存