Basic use of Lettuce (3) -- connection pool 2

   Lettuce4.3 connection pool ConnectionPoolSupport operation redis3.2.6 cluster

 

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"));
		
		//Cluster 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 ();
		}
		
		//Single node 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();
	}
}

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326737665&siteId=291194637