当前位置: 首页 > 面试题库 >

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

唐向荣
2023-03-14
问题内容

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

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

Does valueX exist?
If it does insert valueY

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

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


问题答案:

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



 类似资料:
  • 问题内容: 我目前正在开发一个缓存,需要为每个调用增加数百个计数器,如下所示: 现在,在我的配置文件中,我看到redis gem仍收集了我不需要的答复,并浪费了一些宝贵的时间。我可以通过某种方式告诉Redis我对回复不感兴趣吗?有没有更好的方法来增加很多值。 例如,我没有找到命令。 提前致谢! 问题答案: 是的…至少在2.6中。您可以在LUA脚本中执行此操作,只需让LUA脚本返回空结果即可。这是使

  • 问题内容: 有没有一种方法可以检测go中的命令是否通过管道传输? 例: 我正在从Stdin阅读。 问题答案: 您可以使用进行此操作。 (改编自https://www.socketloop.com/tutorials/golang-check-if-os-stdin-input-data- is-piped-or-from-terminal )

  • 我知道可以通过根据构建类型提供不同的参数,例如: 然后我就可以访问源代码中的这些字段,如下所示:。但我需要的不是在gradle文件中硬编码这些值,而是在构建时通过命令提供它们。 这方面的用例是自动化,特别是在CI管道上有不同的作业,可以用不同的参数组合构建apk,而不必为每个组合创建新的构建类型。 欢迎提出其他建议。

  • 我想要在mvn命令中传递多个参数,并且应该在karate-config.js文件中读取。 我不想声明任何.prop文件,希望在运行时获得这些值。在支柱下面。定义为读取这些参数,但无法从中获得: 我需要帮助来实现这一点 卡拉特-版本=0.9.0 我还提到了这个链接:通过命令行通过Maven向karate-config.js传递附加参数,但没有成功

  • 问题内容: 如何在Go中将多个外部命令通过管道传递?我已经试过了这段代码,但是看到一条错误消息。 问题答案: StdoutPipe返回一条管道,该管道将在命令启动时连接到命令的标准输出。在Wait看到命令退出后,管道将自动关闭。 (来自http://golang.org/pkg/os/exec/#Cmd.StdinPipe) 您确实关闭了事实。 我做了一个工作示例(只是一个演示,添加了错误捕获功能

  • 本文向大家介绍CMD命令行管道命令使用介绍,包括了CMD命令行管道命令使用介绍的使用技巧和注意事项,需要的朋友参考一下 一、什么是管道命令   管道命令能够将一个命令的执行结果经过筛选,只保留我们需要的信息。   如 dir 命令会显示目录下所有文件夹和文件,可以使用管道命令| findstr "" 将dir的结果进行筛选,只保留需要的信息 | 命令管道符 格式:第一条命令 | 第二条命令 [|