Lettuce4.3 连接池ConnectionPoolSupport 操作redis3.2.6集群
import java.util.ArrayList; import org.apache.commons.pool2.impl.GenericObjectPool; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import com.lambdaworks.redis.RedisClient; import com.lambdaworks.redis.RedisFuture; import com.lambdaworks.redis.RedisURI; import com.lambdaworks.redis.api.StatefulRedisConnection; import com.lambdaworks.redis.api.async.RedisAsyncCommands; import com.lambdaworks.redis.cluster.RedisClusterClient; import com.lambdaworks.redis.cluster.api.StatefulRedisClusterConnection; import com.lambdaworks.redis.cluster.api.async.RedisAdvancedClusterAsyncCommands; import com.lambdaworks.redis.support.ConnectionPoolSupport; public class Lettuce43PoolSupport { public static void main(String[] args) { ArrayList<RedisURI> list = new ArrayList<>(); list.add(RedisURI.create("redis://192.168.37.128:7000")); list.add(RedisURI.create("redis://192.168.37.128:7001")); list.add(RedisURI.create("redis://192.168.37.128:7002")); list.add(RedisURI.create("redis://192.168.37.128:7003")); list.add(RedisURI.create("redis://192.168.37.128:7004")); list.add(RedisURI.create("redis://192.168.37.128:7005")); //集群Redis RedisClusterClient client = RedisClusterClient.create(list); GenericObjectPool<StatefulRedisClusterConnection<String, String>> pool = ConnectionPoolSupport.createGenericObjectPool(() -> client.connect(), new GenericObjectPoolConfig()); try (StatefulRedisClusterConnection<String, String> connection = pool.borrowObject()) { RedisAdvancedClusterAsyncCommands<String, String> commands = connection.async(); RedisFuture<String> future = commands.get("test2"); String str = future.get(); System.out.println(str); } catch (Exception e){ e.printStackTrace(); } //单节点Redis // RedisClient client = RedisClient.create("redis://192.168.37.128:7000"); // GenericObjectPool<StatefulRedisConnection<String, String>> pool = ConnectionPoolSupport // .createGenericObjectPool(() -> client.connect(), new GenericObjectPoolConfig()); // try(StatefulRedisConnection<String, String> connection = pool.borrowObject()) { // RedisAsyncCommands<String, String> commands = connection.async(); // RedisFuture<String> future = commands.get("test"); // String str = future.get(); // System.out.println(str); // } catch (Exception e) { // e.printStackTrace(); // } pool.close(); } }