LSET:为指定索引设置新元素

用户可以通过 LSET 命令,为列表的指定索引设置新元素:

LSET list index new_element

LSET 命令在设置成功时将返回 OK。

例如,对于以下这个 todo 列表来说:

redis> LRANGE todo 0 -1
1) "buy some milk"
2) "watch tv"
3) "finish homework"

我们可以通过执行以下 LSET 命令,将 todo 列表索引 1 上的元素设置为 "have lunch":

redis> LSET todo 1 "have lunch"
OK
redis> LRANGE todo 0 -1
1) "buy some milk"
2) "have lunch" -- 新元素
3) "finish homework"

图 4-20 展示了这个 LSET 命令的执行过程。

image 2025 01 03 16 46 22 546
Figure 1. 图4-20 LSET命令的执行过程

处理超出范围的索引

因为 LSET 命令只能对列表中已存在的索引进行设置,所以如果用户给定的索引超出了列表的有效索引范围,那么 LSET 命令将返回一个错误:

redis> LSET todo 100 "go to sleep"
(error) ERR index out of range

其它信息

  • 复杂度:O(N),其中 N 为给定列表的长度。

  • 版本要求:LSET 命令从 Redis 1.0.0 版本开始可用。