Lettuce基本使用(1)

      第一次写博客,写的不好请见谅. 如果有不对/不好的地方,欢迎指教.

趁着过年没事,学了学Redis, 现在把部分学习成果记录下来方便查阅,也帮助大家少走弯路

      -1- 说明

            redis版本: redis-3.2.6

            环境: 集群,  三主三备

            lettuce 版本4.3.0-final / 4.2.0-final

            这两个版本相差比较大,使用中可能会版本不一致的问题,主要和netty的版本有关

      -2- maven 依赖

            

<!-- Lettuce Redis客户端 -->
<dependency>
	<groupId>biz.paluch.redis</groupId>
	<artifactId>lettuce</artifactId>
	<!--<version>4.2.0.Final</version>-->
	<version>4.3.0.Final</version>
</dependency>

      -2- Lettuce 单机客户端

           

import java.util.concurrent.ExecutionException;

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.api.sync.RedisCommands;

public class LettuceClient {

	public static void main(String[] args) {
		RedisClient client = RedisClient.create(RedisURI.create("redis://192.168.37.128:7000"));
		StatefulRedisConnection<String, String> connect = client.connect();
		
		/* 同步执行的命令 */
		RedisCommands<String, String> commands = connect.sync();
		String str = commands.get("test1");
		//String str2 = commands.get("test2");//MOVED 8899 192.168.37.128:7001;;;;client是单机版
		System.out.println(str);
		
		/*  异步执行的命令  */
//		RedisAsyncCommands<String, String> commands = connect.async();
//		RedisFuture<String> future = commands.get("test1");
//		try {
//			String str = future.get();
//			System.out.println(str);
//		} catch (InterruptedException e) {
//			e.printStackTrace();
//		} catch (ExecutionException e) {
//			e.printStackTrace();
//		}
		
		connect.close();
		client.shutdown();
	}
}

 单机客户端连接集群环境Redis, 如果key对应的哈希槽不在当前client创建的主机上,会报 MOVE....192.168.37.128:7001 异常

            

猜你喜欢

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