lua - Redis 链接命令

标签 lua redis

所以我已经阅读了有关流水线和多/执行命令的内容。但是一直没能回答这个问题。我可以在redis中的操作B中使用操作A的结果,而不是将它们从redis中取出来吗?这可以用 Lua 脚本来完成吗?这在redis中自然完成吗?我能否以特定方式映射结果?

最佳答案

是的,您可以使用脚本,但限制是它不能很好地与 Redis 集群(无论如何尚未发布)配合使用。

这是一个用 Ruby 编写的示例,但如果您的 Redis 客户端支持 EVAL,您可以用任何语言来编写:

require "redis"
redis = Redis.new

redis.hset("foo","bar","baz")
redis.set("baz",42)

script = <<EOS
local k = redis.call("hget","foo",ARGV[1])
return redis.call("get",k)
EOS

puts redis.eval(script,keys:[],argv:["bar"])

此代码段打印 42

关于lua - Redis 链接命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807860/

相关文章:

redis - 如何降低 epoll_wait 调用的 finish_task_switch() 的 CPU 使用率?

Lua:嵌套的 if 语句

lua - 使用 lpeg 进行变换(cond ? then : else) to ifthenelse(cond, then,else)

lua - LUA meta tables 可以协助检测 nilling object 吗?

php - Redis - 使用什么数据类型来存储用户事件

redis - 用于Redis得分排序集的Hazelcast和Apache Ignite模拟

module - 使用函数编写正确的 Lua 5.1 模块

在 lua 中计算字节数组/用户数据的 crc16

kubernetes - 公开一个 redis 集群 - 使用 kubernetes statefulset 到互联网

django - 如何在不同服务器上缓存redis