【问题标题】:How can I create Redisson Client to connect to a redis如何创建 Redisson 客户端以连接到 redis
【发布时间】:2019-05-08 08:55:25
【问题描述】:

我不确定如何在应用程序中创建 RedissonClient 对象。 1-是否应该为每笔交易创建此对象或 2- 每个 JVM 的对象应该是单例的吗? 3-所有服务只有一个对象?

目前,我的设置是一个嵌入式 Jetty,带有 Jersey API,用于在不同的 Kubernetes pod 集上运行的 3 个服务,Redis 设置是 3 + 3 主从配置。

当前配置如下所示。

公共类 RedisTemplate {

public static final RedissonClient REDISCLIENT;
private static final Logger logger = LogManager.getLogger(RedisTemplate.class);

public static final String redisMaster = "redis-cluster";

static {
    Config config = new Config();

    logger.info("redis config for server");

    config.useClusterServers().addNodeAddress("redis://" + redisMaster + ":6379");

    REDISCLIENT = Redisson.create(config);

}

}

【问题讨论】:

    标签: java reddison


    【解决方案1】:

    正如他们的FAQ 所述,redisson 应该是单例的:

    问:我什么时候需要关闭 Redisson 实例,在每个请求结束时或线程生命周期结束时?
    A : Redisson 实例仅在您想停止使用其所有功能时才需要手动关闭。 Redisson 随应用程序一起启动和停止是一种常见模式。由于它是完全线程安全的,您可以将 Redisson 实例视为单例。关闭序列将断开每个连接池中持有的所有活动连接,它会清理某些类型的 Redisson 对象,需要在处理时进行手动销毁操作,然后停止事件循环。请注意,整个关机过程不是即时的。

    【讨论】:

      猜你喜欢
      • 2018-05-31
      • 2022-01-25
      • 1970-01-01
      • 2019-05-04
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      相关资源
      最近更新 更多