集群模式下redis如何使用pipline

1、数据必须存储于同一节点,并且同一hash槽

如果没有,则会抛出异常:

“CROSSSLOT Keys in request don't hash to the same slot(无法将请求中的 CROSSSLOT 密钥哈希写入同一槽中)”

2、如何保障数据位于统一哈希槽

如果需要验证某条数据的哈希槽,可以使用如下命令:

CLUSTER KEYSLOT yourKey

为了保障数据用于计算哈希槽的数据相同,可以使key分段,并且把用于区分的部分用大括号括起来:

例如这样的key --->  {user1}:myset

redis会仅使用“user1”这个字符串进行计算哈希槽

3、如何使用Redisson中的pipline

RedissonClient  redisson;

RBatch batch;

batch =redisson.createBatch();

batch.timeout(20, TimeUnit.SECONDS);

batch.atomic();

batch.getList("list1").readAllAsync();//记得一定要加readAllAsync或者getAsync之类的方法

batch.getList("list2").readAllAsync();

BatchResult  result = batch.execute();


BatchResult这个类,实现了List接口,可以直接迭代获取每一个操作的值

你可能感兴趣的:(集群模式下redis如何使用pipline)