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

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

  1. LSET list index new_element

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

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

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

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

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

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


图 4-20 LSET 命令的执行过程_images/IMAGE_LSET.jpeg


处理超出范围的索引

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

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

其他信息

属性
复杂度O(N) ,其中 N 为给定列表的长度。
版本要求LSET 命令从 Redis 1.0.0 版本开始可用。