Redis可以通过LINDEX key index
获取list中的特定值, 但无法直接删除特定索引下的值.
两步:
- 先用
LSET
在指定索引位置上设置特殊值:LSET key index value
在指定索引位置的值替换为value
- 再用
LREM
删除该特殊值:LREM key n value
, 从左边删除n个value
例如删除list1
索引3对应的在值
LSET list1 3 del
LREM list1 1 del
补充
在Redis中, list是双向链表有两种索引:
- 正向索引:
0, 1, 2, 3, ...
- 逆向索引:
-1, -2, -3, ...
与删除的相关的操作有:
LPOP / RPOP key
: 从左边/右边弹出一个值LREM key n value
: 从左边删除n个value-
LTRIM key begin-index, end-index
: 仅保留指定区间的元素Redis的区间都是闭区间, [begin-index, end-index]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:redis如何删除list中特定索引的值 - Python技术站