如何创建Redisson Client以连接到Redis

时间:2019-05-08 08:55:25

标签: java reddison

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

当前,我的设置是带有Jersey API的嵌入式Jetty,用于在一组不同的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);

}

}

1 个答案:

答案 0 :(得分:0)

如他们的FAQ中所述,重新分配应为单例:

  

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