【发布时间】:2015-10-13 08:32:16
【问题描述】:
是否可以删除 redis 列表中特定索引处的元素?没有真正找到我想要的。 trim 允许您选择一组特定的元素,LREM 允许您按值删除列表中的项目,但我没有该值。
我发现了一个技巧,您可以使用 LSET 将元素的值更改为 UID 或字符串,例如'DELETED',并且你在这个值上调用 LREM。不过这感觉有点脏。
【问题讨论】:
-
如果 Redis 的作者已经建议了 hack,值得一试:groups.google.com/forum/#!topic/redis-db/c-IpJ0YWa9I
-
是的,我猜很公平:D
-
有些人甚至称它为语法糖,因为列表不是一个很好的按索引访问的数据结构——至少黑客两次完整地暴露了这一点:)