# String Commands

# append

  • 支持:是

  • 说明:将 value 追加到 key 所存储值的末尾

  • 示例:

    > EXISTS mykey
    (integer) 0
    > APPEND mykey "Hello"
    (integer) 5
    > APPEND mykey " World"
    (integer) 11
     > GET mykey
    "Hello World"
    

# decr

  • 支持:是

  • 说明:将 key 所存储的整数值减 1

  • 示例:

    > SET mykey "10"
    "OK"
    > DECR mykey
    (integer) 9
    > SET mykey "234293482390480948029348230948"
    "OK"
    > DECR mykey
    (error) value is not an integer or out of range
    

# decrby

  • 支持:是

  • 说明:将 key 所储存的值减去给定的递减值(decrement)

  • 示例:

    > SET mykey "10"
    "OK"
    > DECRBY mykey 3
    (integer) 7
    

# get

  • 支持:是

  • 说明:根据 key 获取 String 类型的 value

  • 示例:

     > GET nonexisting
    (nil)
    > SET mykey "Hello"
    "OK"
    > GET mykey
    "Hello"
    

# getrange

  • 支持:是

  • 说明:返回 key 中字符串值的子字符

  • 示例:

    > SET mykey "This is a string"
    "OK"
    > GETRANGE mykey 0 3
    "This"
    > GETRANGE mykey -3 -1
    "ing"
    > GETRANGE mykey 0 -1
    "This is a string"
    > GETRANGE mykey 10 100
    "string"
    

# getset

  • 支持:是

  • 说明:将给定 key 的值设置为 value,并返回 key 的旧值

  • 示例:

    > INCR mycounter
    (integer) 1
    > GETSET mycounter "0"
    "1"
    > GET mycounter
    "0"
    

# incr

  • 支持:是

  • 说明:将 key 所存储的整数值加 1

  • 示例:

    > SET mykey "10"
    "OK"
    > INCR mykey
    (integer) 11
    > GET mykey
    "11" 
    

# incrby

  • 支持:是

  • 说明:将 key 所储存的值加上给定的递增值(increment)

  • 示例:

    > SET mykey "10"
    "OK"
    > INCRBY mykey 5
    (integer) 15
    

# incrbyfloat

  • 支持:是

  • 说明:将 key 所储存的值加上指定的浮点递增值(increment)

  • 示例:

    > SET mykey 10.50
    "OK"
    > INCRBYFLOAT mykey 0.1
    "10.6"
    > INCRBYFLOAT mykey -5
    "5.6"
    > SET mykey 5.0e3
    "OK"
    > INCRBYFLOAT mykey 2.0e2
    "5200"
    

# mget

  • 支持:是

  • 说明:一次性获取一个或多个 key 所存储的值

  • 示例:

    > SET key1 "Hello"
    "OK"
    > SET key2 "World"
    "OK"
    > MGET key1 key2 nonexisting
    1) "Hello"
    2) "World"
    3) (nil)
    

# mset

  • 支持:是

  • 说明:同时批量添加多个 String 类型键值对

  • 示例:

    > MSET key1 "Hello" key2 "World"
    "OK"
    > GET key1
    "Hello"
    > GET key2
    "World"
    

# msetnx

  • 支持:是

  • 说明:当指定的 key 都不存在时,用于设置多个键值对

  • 示例:

    > MSETNX key1 "Hello" key2 "there"
    (integer) 1
    > MSETNX key2 "new" key3 "world"
    (integer) 0
    > MGET key1 key2 key3
    1) "Hello"
    2) "there"
    3) (nil)
    

# psetex

  • 支持:是

  • 说明:以毫秒为单位设置key的过期时间

  • 示例:

    > PSETEX mykey 1000 "Hello"
    "OK"
    > PTTL mykey
    (integer) 1000
    > GET mykey
    

# set

  • 支持:是

  • 说明:用于设定指定键的值

  • 示例:

    > SET mykey "Hello"
    "OK"
    > GET mykey
    "Hello"
    > SET anotherkey "will expire in a minute" EX 60
    "OK"
    

# setex

  • 支持:是

  • 说明:添加一个String类型键值对并指定有效时间,将值 value 存储到 key中 ,并将 key 的过期时间设为 seconds (以秒为单位)

  • 示例:

    > SETEX mykey 10 "Hello"
    "OK"
    > TTL mykey
    (integer) 10
    > GET mykey
    "Hello"
    

# setnx

  • 支持:是

  • 说明:添加一个String类型键值对, 前提key不存在,否则不执行

  • 示例:

    > SETNX mykey "Hello"
    (integer) 1
    > SETNX mykey "World"
    (integer) 0
    > GET mykey
    "Hello"
    

# setrange

  • 支持:是

  • 说明:从偏移量 offset 开始,使用指定的 value 覆盖的 key 所存储的部分字符串值

  • 示例:

    > SET key1 "Hello World"
    "OK"
    > SETRANGE key1 6 "Redis"
    (integer) 11
    > GET key1
    "Hello Redis"
    

# strlen

  • 支持:是

  • 说明:返回 key 所储存的字符串值的长度

  • 示例:

    > SET mykey "Hello world"
    "OK"
    > STRLEN mykey
    (integer) 11
    > STRLEN nonexisting
    (integer) 0
    

# substr

  • 支持:是

  • 说明:获取字符串中指定区间内的字符

  • 示例:

      > SET mykey "This is a string"
      OK
      > GETRANGE mykey 0 3
      "This"
      > GETRANGE mykey -3 -1
      "ing"
      > GETRANGE mykey 0 -1
      "This is a string"
      > GETRANGE mykey 10 100
      "string"