标签
redis
Redis 消息队列学习笔记
一、Redis 消息队列的三种实现方式 Redis 可以通过三种方式实现消息队列: List:基于列表实现简单消息队列。 Pub/Sub:基于发布订阅实现消息广播。 Stream:支持消费者组、消息确认和故障恢复。 1. List 消息队列 List 可以通过 RPUSH 和 LPOP 实现先进先出
2026-10-28
|
9
|
0
|
0
Redisson 分布式锁:使用与实现原理
一、Redisson 简介 Redisson 是基于 Redis 的 Java 客户端,提供了分布式锁、分布式集合、信号量等功能。 相比手动使用 SET NX EX 实现分布式锁,Redisson 解决或改善了以下问题: 可重入:同一个线程可以重复获取同一把锁。 可重试:获取锁失败后,可以等待并重新
2026-10-26
|
12
|
0
|
0
Redis 分布式锁学习笔记
一、为什么需要分布式锁? Java 的 synchronized 和 ReentrantLock 属于 JVM 本地锁,只能保证单个 JVM 内的线程安全。 在 Spring Boot 集群部署时,每个 JVM 都有独立的锁对象,无法协调不同服务实例的并发操作。 因此,需要使用分布式锁实现跨 JVM
2026-10-26
|
9
|
0
|
0
缓存雪崩及解决方案
一、什么是缓存雪崩? 缓存雪崩(Cache Avalanche) 是指大量缓存 Key 在同一时间失效,或者 Redis 服务发生故障,导致大量请求无法命中缓存,集中访问 MySQL,造成数据库压力激增,甚至导致系统崩溃。 主要有两种场景: 1. 大量 Key 同时过期 大量缓存 Key 同时过期
2023-02-27
|
11
|
0
|
0
Redis 在短信验证码与用户登录中的应用
Redis 在登录功能中主要有两个作用: 存储短信验证码:用于验证用户身份。 存储用户登录态:通过 Token 识别已登录用户。 一、短信验证码存储 短信验证码适合使用 Redis 的 String 数据类型。 例如: Key: sms:login:13800138000
Value: 1234
2023-02-24
|
9
|
0
|
0
Redis 学习笔记:缓存穿透及解决方案
一、什么是缓存穿透? 缓存穿透是指用户请求的数据在 Redis 和 MySQL 中都不存在,导致请求无法命中缓存,每次都直接访问数据库。 例如: 用户请求 ID = 99999
↓
Redis:不存在
↓
MySQL:不存在
↓
返回空数据 如果大量请
2023-02-24
|
13
|
0
|
0
