美文网首页Java 的redis应用
集群模式下redis如何使用pipline

集群模式下redis如何使用pipline

作者: 刘栉风 | 来源:发表于2019-08-28 09:39 被阅读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接口,可以直接迭代获取每一个操作的值

相关文章

网友评论

    本文标题:集群模式下redis如何使用pipline

    本文链接:https://www.haomeiwen.com/subject/kcauectx.html