java异步读redis数据_java – Jedis是否支持异步操作

我正在使用Jedis(

java客户端)与Redis服务器进行通信.我在三个不同的节点上运行了3个Redis实例.我想从3个Redis实例中“获取”(读取)一些记录.我想并行发出这些“获取”(读取),然后对接收到的数据进行一些处理并形成最终输出.

在java中执行此操作的最佳方法是什么?

其中一种方法是创建3个线程并在每个线程中“获取”(读取)(同步).等待所有3个命令完成,然后合并结果.

Jedis是否有一种机制可以异步发出3个“获取”(任何命令),具有回调功能?

我有3个不同的Redis实例.那么你建议使用“ShardedJedisPipeline”(jedis / tests / ShardedJedisPipelineTest.java)并行处理这些Redis实例吗?

普通的Jedis管道(jedis / tests / PipeliningTest.java),只是向单个Redis实例发送多个命令,因此它们在Redis服务器上一个接一个地执行(并且最后的所有响应都可用).

所以我假设我必须使用“ShardedJedisPipeline”.但是这有两个局限:

1.我想在3个Redis实例上并行执行Lua脚本,即“eval”.

2.我不想要分片(Jedis使用的一些散列算法)来分发数据,或者自己(使用它的算法)从实例读取数据.我们有不同的数据分发策略.所以我希望能够指定,记录应存储在哪个redis实例中,并相应地从哪里读取. keyTags似乎提供了这种机制,但不确定如何将其与“eval”一起使用.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值