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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容