
前言Redis 是内存型 NoSQL 数据库凭借高性能、丰富数据结构成为后端标配中间件主要用于热点缓存、分布式锁、限流、消息队列。本文从基础数据结构到两大核心业务场景完整实战。一、Redis 五大基础数据结构实战String 字符串缓存、计数器、验证码SET user:1:name 张三 EX 3600 GET user:1:name INCR order_countHash 哈希存储对象用户信息、商品HSET user:2 id 2 name 李四 phone 13800001111 HGETALL user:2List 列表消息队列、栈Set 集合去重、点赞、好友列表ZSet 有序集合排行榜、积分排名二、核心场景 1热点缓存Cache-Aside流程先查 Redis命中直接返回未命中查询 MySQL写入缓存再返回更新数据先改数据库删除缓存。// 伪代码 String key goods: goodsId; String data redis.get(key); if(data null){ Goods goods mapper.selectById(goodsId); redis.setEx(key, 3600, JSON.toString(goods)); }三、核心场景 2分布式锁解决集群并发超卖1. 基础 SETNX 锁单机SET lock:stock 1 NX EX 10 DEL lock:stock2. Redisson 分布式锁生产推荐自动续期、可重入、防死锁适配集群 / 哨兵解决库存超卖、重复下单。四、三大缓存问题解决方案缓存穿透缓存空值 / 布隆过滤器缓存击穿互斥锁、逻辑过期缓存雪崩过期时间随机偏移、集群高可用五、Redis 运维规范热点 key 拆分避免大 key业务 key 统一前缀业务:类型:id禁止永久 key设置过期时间高并发场景使用 Redis 集群主从 哨兵。