Redisson

2天前发布 1 00

基于 ​Redis 的 ​Java 驻内存数据网格(In-Memory Data Grid)​ 和 ​分布式服务框架

所在地:
法国
收录时间:
2025-04-01
RedissonRedisson

Redisson 简介

Redisson 是一个基于 Redis 的 Java 驻内存数据网格(In-Memory Data Grid) 和 分布式服务框架,由 俄罗斯开发者 Nikita Koksharov 开发并开源。它在原生 Redis 功能基础上,提供了 分布式锁、分布式集合、分布式对象、事件驱动模型 等高级功能,极大地简化了 Java 应用在分布式环境下的开发。Redisson 支持 Redis 单机、哨兵、集群 等多种部署模式,并兼容 Spring、Spring Boot、Jakarta EE 等主流框架,是构建 高并发、高可用分布式系统 的理想工具。


核心特性

  1. 分布式锁
    • 可重入锁(RLock):支持锁续期(WatchDog 机制)
    • 公平锁(Fair Lock):按请求顺序获取锁
    • 联锁(MultiLock):同时锁定多个资源
  2. 分布式集合
    • Map(RMap):支持本地缓存、数据分片、条目过期
    • Set(RSet):分布式唯一集合
    • List(RList):分布式双向链表
    • Queue(RQueue):分布式队列(FIFO)
  3. 分布式对象与服务
    • 原子长整型(RAtomicLong):分布式计数器
    • 信号量(RSemaphore):控制并发访问数量
    • 布隆过滤器(RBloomFilter):高效判断元素是否存在
  4. 事件驱动模型
    • 发布/订阅(Topic):支持模式匹配(Pattern)
    • 远程服务(Remote Service):跨 JVM 方法调用
  5. 高性能与容错
    • 连接池管理:优化网络 I/O
    • 自动重连:节点故障时自动恢复
  6. Spring 集成
    • 支持 Spring Cache 注解(@Cacheable
    • 提供 Spring Session 存储实现

核心概念

术语说明
RLock分布式可重入锁,支持自动续期
RMap分布式哈希表,支持本地缓存
RTopic发布/订阅通道,支持消息广播
RedissonClient核心客户端接口,创建各种分布式对象
Config配置类(如集群节点、连接池参数)

典型应用场景

  1. 分布式锁
    • 秒杀系统防止超卖(如 RLock.tryLock()
  2. 缓存管理
    • 分布式二级缓存(如 RMapCache 支持条目 TTL)
  3. 实时消息系统
    • 订单状态变更通知(通过 RTopic 发布)
  4. 任务调度
    • 分布式延迟队列(如 RDelayedQueue
  5. 微服务协同
    • 跨服务方法调用(RRemoteService

快速入门示例

1. 添加 Maven 依赖

<dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson</artifactId>
    <version>3.24.3</version>
</dependency>

2. 初始化客户端

Config config = new Config();
config.useSingleServer()
      .setAddress("redis://127.0.0.1:6379")
      .setPassword("password");

RedissonClient redisson = Redisson.create(config);

3. 使用分布式锁

RLock lock = redisson.getLock("orderLock");
try {
    if (lock.tryLock(10, 30, TimeUnit.SECONDS)) { // 等待10秒,锁30秒后自动释放
        // 执行业务逻辑
    }
} finally {
    lock.unlock();
}

4. 分布式 Map 示例

RMap<String, Object> map = redisson.getMap("userMap");
map.put("1001", new User("Alice", 28));
User user = (User) map.get("1001");

5. Spring Boot 集成

# application.yml
spring:
  redis:
    redisson:
      config: |
        singleServerConfig:
          address: "redis://localhost:6379"
          password: null

性能优化建议

  1. 连接池配置
    • 调整 connectionPoolSize(默认 64)和 idleConnectionTimeout
  2. 锁优化
    • 避免长时间持有锁(设置合理的 leaseTime
    • 使用 tryLock 替代 lock 防止线程阻塞
  3. 本地缓存
    • 对只读高频数据启用 RMapCache 本地缓存
  4. 序列化选择
    • 使用 Kryo 或 FST 替代默认 JDK 序列化
  5. 监控指标
    • 通过 Redisson.getNodesGroup().pingAll() 检测节点健康状态

数据评估

Redisson浏览人数已经达到1,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:Redisson的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找Redisson的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于Redisson特别声明

本站速览导航提供的Redisson都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由速览导航实际控制,在2025年4月1日 下午9:44收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,速览导航不承担任何责任。

相关导航