Lettuce基本使用(2) --集群

使用Lettuce  操作 Redis3.2.6集群

Lettuce使用Netty作为底层通信框架

import java.util.ArrayList;
import java.util.concurrent.ExecutionException;

import com.lambdaworks.redis.RedisFuture;
import com.lambdaworks.redis.RedisURI;
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.cluster.api.sync.RedisAdvancedClusterCommands;

public class LettuceClusterClient {

	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"));
		RedisClusterClient client = RedisClusterClient.create(list);
		//RedisClusterClient client = RedisClusterClient.create("redis://192.168.37.128:7000");
		StatefulRedisClusterConnection<String, String> connect = client.connect();
		
		/* 同步执行的命令 */
		RedisAdvancedClusterCommands<String, String> commands = connect.sync();
		String str = commands.get("test2");
		System.out.println(str);
		
		/*  异步执行的命令  */
//		RedisAdvancedClusterAsyncCommands<String, String> commands= connect.async();
//		RedisFuture<String> future = commands.get("test2");
//		try {
//			String str = future.get();
//			System.out.println(str);
//		} catch (InterruptedException e) {
//			e.printStackTrace();
//		} catch (ExecutionException e) {
//			e.printStackTrace();
//		}
		
		connect.close();
		client.shutdown();
	}
}

    相同的代码,使用不同的Lettuce版本执行,可能会报异常,主要是引入的Netty版本有光,只需把Netty的版本修改成相同的即可 

<dependency>
	<groupId>io.netty</groupId>
	<artifactId>netty-all</artifactId>
        <!-- <version>4.0.14.Final</version> -->
	<!-- <version>4.1.6.Final</version> --><!-- lettuce 4.3 -->
	<version>4.0.36.Final</version><!-- lettuce 4.2 -->
</dependency>

猜你喜欢

转载自laohulichuanzhang.iteye.com/blog/2354577