刚开始使用redis中的lua脚本,我想在脚本中执行以下命令:
set k1 foo
set k2 bar试过..。
> EVAL "redis.call('set', KEYS[1],'foo'); redis.call('set',KEYS[2],'bar'); return 1;" 1 k1 2 k2 > script load "redis.call('set', KEYS[1],'foo'); redis.call('set',KEYS[2],'bar'); return 1;"
> "bb031c00b6ab2508bbf182dadd5c9bf1675cce56"
> EVALSHA "bb031c00b6ab2508bbf182dadd5c9bf1675cce56" 1 k1 2 k2结果
get k1
1) "foo"
get k2
(nil)为什么没有设置k2;脚本和/或语法是否不正确?
发布于 2013-08-09 20:39:02
现在调用它的方式是传入一个键名(k1)和两个参数(2,k2)。
我想你希望它成为
EVAL "redis.call('set', KEYS[1], 'foo'); redis.call('set', KEYS[2],'bar'); return 1;" 2 k1 k2https://stackoverflow.com/questions/18153866
复制相似问题