缓存常见问题

缓存问题:

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

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

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

Redis和Memcached区别:

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

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

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

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

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

* 纯内存操作

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

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

Redis满了如何处理?

* 内存淘汰机制

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

处理10万+的数据并发?

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

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

相关推荐
纳于大麓16 分钟前
Android Maven私服搭建(Windows)
java·maven
哈基米喜欢哈哈哈1 小时前
低版本的JVM遇到高版本的class字节码是否会报错
java·jvm
235161 小时前
【并发编程】详解volatile
java·开发语言·jvm·分布式·后端·并发编程·原理
洛小豆2 小时前
java 中 char 类型变量能不能储存一个中文的汉字,为什么?
java·后端·面试
爱吃烤鸡翅的酸菜鱼2 小时前
从数据库直连到缓存预热:城市列表查询的性能优化全流程
java·数据库·后端·spring·个人开发
虫师c2 小时前
分布式缓存实战:Redis集群与性能优化
redis·分布式·缓存·redis集群·高可用架构·生产环境·数据分片
一只学java的小汉堡2 小时前
Java 面试高频题:HashMap 与 ConcurrentHashMap 深度解析(含 JDK1.8 优化与线程安全原理)
java·开发语言·面试
huohaiyu3 小时前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
信奥卷王4 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
心勤则明4 小时前
Spring AI 会话记忆实战:从内存存储到 MySQL + Redis 双层缓存架构
人工智能·spring·缓存