Java 的redis应用

集群模式下redis如何使用pipline

2019-08-28  本文已影响0人  刘栉风

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接口,可以直接迭代获取每一个操作的值

上一篇 下一篇

猜你喜欢

热点阅读