【问题标题】:What is the Redis command line (redis-cli) continuation character?什么是 Redis 命令行 (redis-cli) 延续字符?
【发布时间】:2014-04-01 18:59:31
【问题描述】:

我正在尝试在 lua 中构建一个 redis“存储过程”,它会在其中一个映射字段更改时更新键值存储,并且还会在所述值更改时从另一个键中提取值。我已经构建了这个 lua(redis) 脚本并且它可以工作。

但是我发现当我尝试将它输入到 redis-cli 时,它会抱怨,除非我将脚本的所有行连接到一个长行中。肯定有 redis-cli (?) 识别的“延续字符”,但我找不到它。

有人知道 redis-cli 的延续字符吗?

【问题讨论】:

  • 我认为没有。例如,您可以使用来自 python 的客户端库。当你在使用 Lua 时,你需要一些东西来为你记账 SCRIPT LOAD/EVAL/EVALSHA。如果您只是想从 bash 中试用一些东西,有很多选择。写入文件,产生/使用fifo,放入env.var,使用echo plus pipe,等等等等。
  • 换行符在 lua 中是可选的。改用空格:)

标签: command-line redis key-value-store continuation


【解决方案1】:

一种选择是将 lua 脚本保存到文件中,然后使用命令行执行文件中的脚本,如下所示:

http://www.redisgreen.net/blog/2013/03/18/intro-to-lua-for-redis-programmers/

我意识到这不是对 redis-cli 的连续字符可能是什么(或者如果它存在)的直接答案。

【讨论】:

  • Redis 程序员的 Lua 介绍文章非常宝贵,但我想要一个 sha 键并使用 redis 来查找函数,除了加载这些脚本有困难之外,它是有效的 :-(
  • 我能够将 lua 脚本存储在一个文件中,并将其加载到 redis 中,指的是使用 SHA 密钥加载的脚本。而我只是将所有 lua 行合并成一条长行。
  • lua 中的换行符等同于空格,(除了它们也以单行 cmets 结尾),因此如果您删除或转换任何此类 cmets,您可以提供单行 lua 脚本。但认真
猜你喜欢
  • 2019-09-06
  • 2016-07-20
  • 1970-01-01
  • 2019-04-05
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 1970-01-01
相关资源
最近更新 更多