在Redis列表中按索引插入值

Bra*_*rad 7 redis

有没有办法通过索引将值插入Redis列表?

LINSERT可以通过值来实现,但这似乎有点落后,因为相同的值可能会在列表中多次出现.

yin*_*wen 2

有一个解决方法可能会有点慢,因为所有操作都是 O(n) 。

  • 使用 LIndex 在客户端保存旧值。
  • 使用 LSet 设置一个永远不会插入到索引列表中的标记值。
  • 使用 LINSERT 在标记值后插入 2 个值(新值、旧保存值)。
  • 使用 LRem 删除标签值。
  • 所有操作都应该在一个事务中。