当前位置: 首页 > 面试题库 >

从Redis列表中删除特定索引处的元素

孟茂学
2023-03-14
问题内容

是否可以在Redis列表中的特定索引处删除元素?没有真正找到我想要的。有修剪可以让您选择一组特定的元素,LREM可以让您按值删除列表中的项目,但是我没有值。

我发现了一个黑客,您在其中使用LSET将元素的值更改为UID或字符串,例如“ DELETED”,然后您对该值调用LREM。不过,这感觉有点脏。


问题答案:

因此,完成我想要的操作的唯一方法是将索引处的值设置为预定字符串,然后按值进行删除。

在此处查看讨论https://groups.google.com/forum/#!topic/redis-
db/c-IpJ0YWa9I

在红宝石如下

@redis.lset("#{@namespace}/#{specified_queue}", index, "DELETED")
@redis.lrem("#{@namespace}/#{specified_queue}", 1, "DELETED")

LSET文档http://redis.io/commands/lset
LREM文档http://redis.io/commands/lrem



 类似资料:
  • 我正在尝试编写一种方法,删除每组4个元素中的第一个、第二个和第三个元素。它似乎根本不起作用。有人能帮忙吗?

  • 在List/ArrayList中有没有什么方便的方法可以移除列表中特定索引之后的所有元素?而不是手动循环通过它来移除。 为了更解释,如果我有一个包含10个元素的列表,我想提到索引3,然后索引3之后的所有元素都被删除,我的列表现在只包含4个元素(从0开始计数)

  • 问题内容: List / ArrayList中是否有任何方便的方法,我们可以通过该方法删除特定索引之后的List的所有元素。而不是手动循环进行删除。 为了进一步说明,如果我有一个包含10个元素的列表,我想提及索引3,然后删除索引3之后的所有元素,并且列表现在只包含开始的4个元素(从0开始计数) 问题答案: 子列表操作反映在原始列表中,因此清除了从索引4包含在内的所有内容,也清除了索引3之后的所有内

  • 问题内容: 我有一个包含两个“ 0”(str)的字符串,我只想删除索引4处的“ 0”(str) 我尝试调用.replace,但是显然删除了所有的“ 0”,并且我找不到能为我删除第4位字符的函数。 有人对我有提示吗? 问题答案: 使用切片,重建字符串减去要删除的索引:

  • 问题内容: 如何在Python中按索引从列表中删除元素? 我找到了方法,但是说我想删除最后一个元素,该怎么做?似乎默认的搜索列表,但是我不希望执行任何搜索。 问题答案: 使用并指定要删除的元素的索引:

  • 如何将项目插入到特定索引的列表中?不使用: 帮助!