Redis 缓存预热、穿透、击穿和雪崩一、缓存预热1. 定义缓存预热是指在系统上线或重启后,提前将热点数据加载到 Redis 缓存中,避免用户请求直接穿透到数据库,从而提升系统响应速度、降低数据库压力。2. 业务场景电商大促:618 / 双 11 前,提前将热门商品(如秒杀商品、爆款商品)的库存、价...
Redis 内存管理一、内存上限设置(maxmemory)1. 默认规则Redis 默认不限制内存使用(32 位系统默认上限约 3GB,64 位无默认限制)。生产环境必须显式设置 maxmemory,否则可能因内存耗尽导致服务器 OOM、Redis 进程被系统杀死。2. 配置方式(1)配置文件(re...
Redis BigKey一、定义1. 字符串(String)Value 大小 ≥ 10KB2. 集合类(Hash/List/Set/ZSet)元素数量 ≥ 5000(或单 Key 内存占用 ≥ 1MB)可通过 MEMORY USAGE <key> 精准获取 Key 内存占用二、业务场景1...
Redis 线程(单线程 vs 多线程)一、单线程核心(核心处理层)Redis 核心的命令执行、数据读写、内存管理等操作仍基于单线程(严格来说是 “主线程”)。1. 优点避免多线程上下文切换开销(Redis 操作基于内存,CPU 并非瓶颈,上下文切换成本高于单线程执行效率)简化并发控制,无需处理锁竞...
Redis 集群(Cluster)一、定义1. 基本概念Redis 8.4 集群(Redis Cluster)是官方提供的分布式存储解决方案,基于去中心化架构,将数据分片存储在多个节点中,同时提供高可用性(自动故障转移)、水平扩容能力,解决单机 Redis 的存储容量上限、并发瓶颈和单点故障问题。2...
Redis 哨兵(sentinel)一、定义1. 基本概念Redis Sentinel(哨兵)是 Redis 官方提供的高可用(HA)解决方案,专门用于解决 Redis 主从架构中主节点宕机后的自动化故障转移问题,同时提供主节点的监控、通知、自动故障恢复、配置中心能力。2. 核心定位监控 + 自动故...
Redis 复制(replica)一、定义Redis 主从复制是实现数据多副本冗余的核心机制:指定一台 Redis 作为主节点(Master),处理所有写操作;一台/多台作为从节点(Replica,Redis 5.0 后替换 Slave 命名),通过复制机制同步主节点数据,仅提供读操作(默认)。二、...
Redis 事务和管道一、Redis 事务1. 定义Redis 事务是一组命令的集合,通过 MULTI 开启事务后,后续命令会进入「事务队列」,直到执行 EXEC 才一次性串行执行队列中所有命令;执行过程中不会插入其他客户端的命令,核心目标是保证命令执行的「串行原子性」(但非结果原子性)。2. 与传...
Redis 持久化一、支持的持久化模式1. RDB(Redis Database,默认开启)(1)原理按指定策略生成内存数据的二进制快照文件(dump.rdb)。(2)优点恢复速度快、文件体积小、对性能影响低。(3)缺点数据一致性弱(可能丢失最近写入数据)。2. AOF(Append Only Fi...
Redis 的数据类型一、命令规范1. 命令与 key 的大小写规则命令不区分大小写。key 区分大小写。二、基础数据类型1. String(字符串)(1)定义Redis 最基础的类型,二进制安全(可存储文本、图片、序列化对象等)。单个 String 最大 512MB,底层基于 SDS(简单动态字符...