gpt4 book ai didi

redis - LPOP 或在 redis 列表中删除

转载 作者:IT王子 更新时间:2023-10-29 06:14:30 32 4
gpt4 key购买 nike

我有一个redis列表

a, b, c ,d ,e ,f g, h

在我对函数的回调中,我获得了元素的索引,我想删除该索引。

LPOP 和 RPOP 对我不起作用。如何在 Redis 中根据索引而不是值删除元素?

谢谢

最佳答案

Redis 列表只是一个双链表,它不应该这样做。关于这个有讨论 here :“索引不能指向列表中的元素,因为当列表更改时索引会失效。”

如果你需要通过索引移除,并且元素是唯一的,你可以使用 LINDEX + LREM 来完成。

假设你想删除索引 3:

> LINDEX list 3
"d"
> LREM list 1 d
1

另一个不错的解决方案应该是使用一个特殊的字符串来标记已删除的条目,然后运行 ​​LREM:

> LSET list 2 DELETE
OK
> LSET list 4 DELETE
OK
> LREM list 0 DELETE
2

关于redis - LPOP 或在 redis 列表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33048376/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com