Clarence Java DocClarence Java Doc
开发总结
Java
数据库
缓存
JVM
Spring
SpringBoot
微服务
消息队列
高并发
分布式
高可用
设计模式
场景题
Netty
云原生
算法
架构
开发协议
IOT
人工智能
开发总结
Java
数据库
缓存
JVM
Spring
SpringBoot
微服务
消息队列
高并发
分布式
高可用
设计模式
场景题
Netty
云原生
算法
架构
开发协议
IOT
人工智能
  • Redis
  • Redisson
  • Caffeine
  • Jetcache
  • 缓存一致性
  • 缓存最佳实践
  • Java 总结-缓存

Redisson

🧩 Redisson 是什么?

Redisson 是一个基于 Redis 的 Java 驻内存分布式框架(Redis client + distributed toolkit)。

它不仅仅是一个 Redis 客户端(像 Jedis、Lettuce), 更是一个帮助你 轻松实现分布式锁、分布式集合、分布式执行、缓存、限流等功能 的框架。


⚙️ Redisson 的主要作用

领域功能举例
🔐 分布式同步分布式锁、读写锁、公平锁、信号量、CountDownLatchRLock, RReadWriteLock, RSemaphore
💾 分布式数据结构提供与 Java 同步的 Redis 数据结构RMap, RList, RSet, RQueue, RBucket
🧠 分布式缓存提供本地缓存 + Redis 缓存的二级缓存机制RLocalCachedMap
📡 分布式服务远程执行(RRemoteService)、分布式任务调度(RExecutorService)分布式执行任务
⏱ 限流与过期分布式限流器、过期监听RRateLimiter, RExpirable
☁️ 集群支持自动支持 Redis Cluster、Sentinel、Master-Slave 等无需修改代码

🧱 Redisson vs 其他 Redis 客户端

对比项RedissonJedisLettuce
基础操作✅ 支持✅ 支持✅ 支持
异步操作✅ 支持 (Reactive + Async)❌✅
分布式锁✅ 内置❌❌
集合封装✅ 高级数据结构❌❌
缓存功能✅ 二级缓存、注解支持❌❌
Cluster 支持✅ 自动✅✅
使用复杂度中简单中
适合场景企业分布式系统简单 Redis 读写响应式场景

💡 常见用法示例

1️⃣ 分布式锁

RLock lock = redissonClient.getLock("order:lock");
try {
    lock.lock(10, TimeUnit.SECONDS);
    // 执行业务逻辑
} finally {
    lock.unlock();
}

2️⃣ 分布式 Map

RMap<String, String> map = redissonClient.getMap("user:info");
map.put("name", "Clarence");
System.out.println(map.get("name"));

3️⃣ 限流器

RRateLimiter rateLimiter = redissonClient.getRateLimiter("api:limit");
rateLimiter.trySetRate(RateType.OVERALL, 5, 1, RateIntervalUnit.SECONDS);
if (rateLimiter.tryAcquire()) {
    System.out.println("允许访问");
} else {
    System.out.println("被限流");
}

🧠 底层原理简述

  • 通过 Redis 的命令(如 SETNX, EXPIRE, EVAL)实现分布式锁;
  • 使用 Lua 脚本保证操作原子性;
  • 内置看门狗机制,防止锁过期释放导致的“锁丢失”;
  • 提供异步(Async)、反应式(Reactive)、RxJava 模式;
  • 自动处理 Redis 集群、主从切换等复杂拓扑。

🚀 常用场景

  • 分布式锁(订单扣减、防重复下单)
  • 分布式限流(接口防刷)
  • 延迟任务(Redisson DelayQueue)
  • 二级缓存(本地 + Redis)
  • 分布式执行器(任务调度)

✅ 总结一句话:

Redisson 是一个在 Java 中基于 Redis 的分布式工具包,能让你像用本地对象一样使用分布式锁、集合、缓存、限流等高级功能。

Last Updated:
Contributors: hello0709
Prev
Redis
Next
Caffeine