首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个操作的Lua脚本在redis中不工作

具有多个操作的Lua脚本在redis中不工作
EN

Stack Overflow用户
提问于 2013-08-09 19:04:38
回答 1查看 2.2K关注 0票数 0

刚开始使用redis中的lua脚本,我想在脚本中执行以下命令:

代码语言:javascript
复制
set k1 foo
set k2 bar

试过..。

代码语言:javascript
复制
> EVAL "redis.call('set', KEYS[1],'foo'); redis.call('set',KEYS[2],'bar'); return 1;" 1 k1 2 k2
代码语言:javascript
复制
 > script load "redis.call('set', KEYS[1],'foo'); redis.call('set',KEYS[2],'bar'); return 1;"
 > "bb031c00b6ab2508bbf182dadd5c9bf1675cce56"
 > EVALSHA "bb031c00b6ab2508bbf182dadd5c9bf1675cce56" 1 k1 2 k2

结果

代码语言:javascript
复制
get k1
1) "foo"

get k2
(nil)

为什么没有设置k2;脚本和/或语法是否不正确?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-09 20:39:02

现在调用它的方式是传入一个键名(k1)和两个参数(2k2)。

我想你希望它成为

代码语言:javascript
复制
EVAL "redis.call('set', KEYS[1], 'foo'); redis.call('set', KEYS[2],'bar'); return 1;" 2 k1 k2
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18153866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档