java - 一次 Redis 调用,多次执行返回类型的命令

标签 java data-structures architecture redis

我需要在 Redis 上执行以下操作:

ZINTERSECT out 2 myset1 myset2
ZRANGE out 0 -1 (lets say it returns a set [20,30,40,50])
MGET user:20:blabla user:30:blabla user:40:blabla user:50:blabla (it returns [1,2,3,4])
ZRANGE blabla:1:value 0 -1
ZRANGE blabla:2:value 0 -1
ZRANGE blabla:3:value 0 -1
ZRANGE blabla:4:value 0 -1 

这是我的“列表列表”类型结构的单笔交易。我的问题:

1- 是否可以一次调用运行它?

2- 我应该为此使用事务还是脚本?

3- 在没有 Redis 的脚本或事务功能的情况下,在高流量下运行所有​​这些线路是否可行?

谢谢

最佳答案

2 - Should I use Transaction or Scripting for this?

由于您要在后续命令中使用某些命令的结果,因此可以使用脚本。

Lua 脚本通常很快。根据定义,Redis 中的脚本也是事务性

3 - Is it feasible to run all these lines under high traffic without scripting or transaction features of Redis ?

这取决于您认为什么是“高流量”。无论如何,您应该测试一下,看看您的方法是否可行。在大多数情况下,一个简单的 Lua 脚本也会很快。

最重要的是,您应该考虑要使用的每个命令的时间复杂度。这些可以在 documentation of each command 中找到.

关于java - 一次 Redis 调用,多次执行返回类型的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21855818/

相关文章:

与线程二叉树混淆

architecture - 如何在 Apache Spark 上运行 RPC 服务器?

architecture - 使用缓存或应用程序范围创建命中计数器

algorithm - 出列算法

java - 通过 Jar 文件实现事件发布功能

java - SQLite异常路径不存在

java - 什么是输入流和输出流?我们为什么以及何时使用它们?

java - 如何使用 JavaFXPorts 在 Android 中启用 JavaFX 虚拟键盘

java - 使用 XStream 将对象转换为 JSON

c++ - 链表与哈希表中的开放寻址