我不知道它的nodejs客户端详细信息,但是以下是lua中非常简单的indexOf命令的实现。
在我的文件中,
indexof.lua我有以下代码:
local key = KEYS[1]local obj = ARGV[1]local items = redis.call('lrange', key, 0, -1)for i=1,#items do if items[i] == obj then return i - 1 endend return -1让我们将一些值推到
mylist。
> rpush mylist foo bar baz qux(integer) 4
我们可以使用lua脚本在列表中找到任何值的索引。该命令为O(N)。
$ redis-cli --eval indexof.lua mylist , bar(integer) 1
的索引
bar为1
> lindex mylist 1"bar"
的索引
nil是-1
$ redis-cli --eval indexof.lua mylist , nil(integer) -1
请参阅有关eval命令的http://redis.io/commands/eval其他文档。



