Lettuce异步模式使用方式

Lettuce是一个可伸缩线程安全的Redis客户端。多个线程可以共享同一个RedisConnection

因为connection是线程安全的;在一个application中只需要创建一个connection

   @Bean
    StatefulRedisMasterSlaveConnection redisConnection() {

        ClientResources resources = DefaultClientResources.builder().ioThreadPoolSize(10).computationThreadPoolSize(100).build();
        ClientOptions clientOptions=ClientOptions.builder().socketOptions(SocketOptions.builder().keepAlive(true).tcpNoDelay(true).build()).pingBeforeActivateConnection(true).build();
        RedisClient redisClient = RedisClient.create(resources);
        redisClient.setOptions(clientOptions);
        RedisURI test = RedisURI.builder().withSentinel("xxxx", 26009).withSentinel("xxxxx", 26009)
                .withPassword("abcd1234").withSentinelMasterId("test").build();

        return MasterSlave.connect(redisClient, new Utf8StringCodec(),
                test);

    }

  

private void lettuceGet() {
        try {
            //只从slave节点中读取
            redisConnection.setReadFrom(ReadFrom.SLAVE);

            RedisAsyncCommands<String, String> redisCommands = redisConnection.async();
            //写缓存
            redisCommands.set("test", "value");
            //使用异步模式获取缓存值
            RedisFuture redisFuture = redisConnection.async().get("test");
            //输出缓存值
            System.out.println(redisFuture.get());
        } catch (Exception e) {
            
        }
    }

  

猜你喜欢

转载自www.cnblogs.com/wei-zw/p/9147938.html