一尘不染

Redis可以通过管道传递依赖于先前命令的多个命令吗?

redis

我对Redis还是很陌生,仍然在玩它。我想测试一下它是否与我的项目相关,但是我不确定正在运行的特定命令。SO的用户让我确信使用管道和事务的性能优势,所以我想问一下如何做到这一点。

基本上,我有两个要发布的语句,而不必等待结果(似乎是管道衬砌的一个很好的候选者。它看起来像这样:

Does valueX exist?
If it does insert valueY

它非常简单,但是到目前为止,我一直在研究它的所有方式似乎都在等待ValueX是否存在的响应,并且由于我正在执行超过十亿次的程序循环,因此将其终止。

这可能吗?如果有帮助,我正在使用Java,但尚未决定使用哪个客户端库(jedis或jredis,仍在测试中)。实际上,我什至没有完全适应redis,而是非常重视它(对于我在速度方面所做的工作似乎很不错),因此任何建议都是可以接受的。


阅读 410

收藏
2020-06-20

共1个答案

一尘不染

不,暂时不可能完成这样的事情。您目前所寻找的功能是目前缺少的功能,但是它将在2.6版本的Redis中可用。这称为LUA脚本。您可以一并执行依赖于先前命令的服务器命令,而无需在客户端获取它们。有关更多详细信息,请参见此处

2020-06-20