1

私は Jetty/CometD を介して長時間実行される Web サービスを実行しており、redis への接続に Redisson ライブラリを使用しています。RedissonClient/接続を取得するためにシングルトン パターンを使用していますが、それが最善の方法であるかどうかはわかりません。

クラスは次のようになります。

public class RedisClient {
    // singleton instance of our RedisonClient/connection
    private static RedissonClient _redissonInstance;
    public static String REDIS_HOST = "my.redishost.com:6379";


    private static RedissonClient setupRedis() {
        org.redisson.Config config = new org.redisson.Config();

        config.useSingleServer()
                .setAddress(REDIS_HOST)
                .setConnectionPoolSize(200);

        return Redisson.create(config);
    }

    public static RedissonClient getRedis() {
        if (_redissonInstance == null) {
            _redissonInstance = setupRedis();
        }
        return _redissonInstance;
    }

    public static void setRedisHost(String redisHost) {
        _logger.warn("Setting REDIS_HOST to: " + redisHost);
        REDIS_HOST = redisHost;
    }
}
4

1 に答える 1