Redis之getset和strlen和append

GETSET key value

  • 可用版本: >= 1.0.0
  • 时间复杂度: O(1)

命令功能

将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。

返回值

  • 返回给定键 key 的旧值。
  • 如果键 key 没有旧值, 也即是说, 键 key 在被设置之前并不存在, 那么命令返回 nil 。
  • 当键 key 存在但不是字符串类型时, 命令返回一个错误。

代码示例

  1. > getset rumenz "testVal"
  2. (nil)
  3. > getset rumenz "newTestVal"
  4. "testVal"

STRLEN key

  • 可用版本: >= 2.2.0
  • 复杂度: O(1)

命令功能

返回键 key 储存的字符串值的长度。

返回值

  • STRLEN 命令返回字符串值的长度。
  • 当键 key 不存在时, 命令返回 0 。
  • 当 key 储存的不是字符串值时, 返回一个错误。

代码示例

  1. > set rumenz "testVal"
  2. OK
  3. > strlen rumenz
  4. (integer) 7

APPEND key value

  • 可用版本: >= 2.0.0
  • 时间复杂度: 平摊O(1)

命令功能

  • 如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。

  • 如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。

返回值

追加 value 之后, 键 key 的值的长度。

代码示例

对不存在的 key 执行 APPEND :

  1. > exists rumenz
  2. (integer) 0
  3. > append rumenz "testVal"
  4. (integer) 7

对已存在的字符串进行 APPEND :

  1. > get rumenz
  2. "testVal"
  3. > append rumenz "-one"
  4. (integer) 11
  5. > get rumenz
  6. "testVal-one"

返回笔记列表
入门小站