栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过Redis列表中的值获取项目的索引

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过Redis列表中的值获取项目的索引

我不知道它的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其他文档。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号