Redis入门(三):Redis keys 命令和 Redis 字符串命令

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/haiyoung/article/details/81192313

https://github.com/Haiyoung/learning-and-preparing-for-interview/blob/dev/redis.md#redis%E5%91%BD%E4%BB%A4

Redis keys 命令


序号 命令 描述
1 DEL key 该命令用于在 key 存在时删除 key,返回被删除 key 的数量
2 DUMP key 序列化给定 key ,并返回被序列化的值
3 EXISTS key 检查给定 key 是否存在,若 key 存在返回 1 ,否则返回 0
4 EXPIRE key seconds 为给定 key 设置过期时间,设置成功返回 1
5 EXPIREAT key timestamp EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp),设置成功返回 1
6 PEXPIRE key milliseconds 设置 key 的过期时间以毫秒计,设置成功,返回 1,key 不存在或设置失败,返回 0
7 PEXPIREAT key milliseconds-timestamp 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计, 设置成功返回 1
8 KEYS pattern 查找所有符合给定模式( pattern)的 key,返回符合给定模式的 key 列表 (Array)
9 MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中,移动成功返回 1 ,失败则返回 0
10 PERSIST key 移除 key 的过期时间,key 将持久保持,当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0
11 PTTL key 以毫秒为单位返回 key 的剩余的过期时间,当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间
12 TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live),当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间
13 RANDOMKEY 从当前数据库中随机返回一个 key,当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil (windows 系统返回 null)
14 RENAME key newkey 修改 key 的名称,改名成功时提示 OK ,失败时候返回一个错误。当 OLD_KEY_NAME 和 NEW_KEY_NAME 相同,或者 OLD_KEY_NAME 不存在时,返回一个错误。 当 NEW_KEY_NAME 已经存在时, RENAME 命令将覆盖旧值
15 RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey,修改成功时,返回 1 。 如果 NEW_KEY_NAME 已经存在,返回 0
16 TYPE key 返回 key 所储存的值的类型

Redis 字符串命令

  • SET key value 设置指定 key 的值
  • GET key 获取指定 key 的值
  • GETRANGE key start end 返回 key 中字符串值的子字符
  • GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)
    shell
    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379> set key001 001
    OK
    127.0.0.1:6379> get key001
    "001"
    127.0.0.1:6379> getrange key001 0 1
    "00"
    127.0.0.1:6379> getset key001 002
    "001"
    127.0.0.1:6379> get key001
    "002"
  • SETBIT key offset value 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
  • GETBIT key offset 对 key 所储存的字符串值,获取指定偏移量上的位(bit)
    shell
    127.0.0.1:6379> keys *
    1) "key001"
    127.0.0.1:6379> setbit key001 3 1
    (integer) 1
    127.0.0.1:6379> getbit key001 3
    (integer) 1
    127.0.0.1:6379> getbit key001 7
    (integer) 0
    127.0.0.1:6379> getbit key002 3
    (integer) 0
  • MSET key value [key value …] 同时设置一个或多个 key-value 对
  • MSETNX key value [key value …] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在
  • MGET key1 [key2..] 获取所有(一个或多个)给定 key 的值
    shell
    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379> mset key001 001 key002 002
    OK
    127.0.0.1:6379> keys *
    1) "key001"
    2) "key002"
    127.0.0.1:6379> mget key001 key002
    1) "001"
    2) "002"
    127.0.0.1:6379> msetnx key002 003 key004 004
    (integer) 0
    127.0.0.1:6379> keys *
    1) "key001"
    2) "key002"
    127.0.0.1:6379> msetnx key003 003 key004 004
    (integer) 1
    127.0.0.1:6379> keys *
    1) "key004"
    2) "key003"
    3) "key001"
    4) "key002"
  • SETNX key value 只有在 key 不存在时设置 key 的值
  • SETEX key seconds value 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
  • SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始
  • STRLEN key 返回 key 所储存的字符串值的长度
  • PSETEX key milliseconds value 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位
    shell
    redis-S:6379> keys *
    (empty list or set)
    redis-S:6379> set key001 001
    OK
    redis-S:6379> keys *
    1) "key001"
    redis-S:6379> setnx key001 002
    (integer) 0
    redis-S:6379> get key001
    "001"
    redis-S:6379> setnx key002 002
    (integer) 1
    redis-S:6379> keys *
    1) "key001"
    2) "key002"
    redis-S:6379> setex key001 60 001A
    OK
    redis-S:6379> ttl key001
    (integer) 54
    redis-S:6379> get key001
    "001A"
    redis-S:6379> strlen key001
    (integer) 4
    redis-S:6379> psetex key002 100000 002A
    OK
    redis-S:6379> ttl key002
    (integer) 89
    redis-S:6379> get key002
    "002A"
    redis-S:6379>
  • INCR key 将 key 中储存的数字值增一
  • INCRBY key increment 将 key 所储存的值加上给定的增量值(increment)
  • INCRBYFLOAT key increment 将 key 所储存的值加上给定的浮点增量值(increment)
  • DECR key 将 key 中储存的数字值减一
  • DECRBY key decrement key 所储存的值减去给定的减量值(decrement)
    shel
    redis-S:6379> keys *
    (empty list or set)
    redis-S:6379> set key001 1
    OK
    redis-S:6379> get key001
    "1"
    redis-S:6379> incr key001
    (integer) 2
    redis-S:6379> incrby key001 3
    (integer) 5
    redis-S:6379> incrbyfloat key001 0.9
    "5.9"
    redis-S:6379> get key002
    "1"
    redis-S:6379> decr key002
    (integer) 0
    redis-S:6379> decrby key002 2
    (integer) -2
    redis-S:6379>
  • APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾
    shell
    redis-S:6379> keys *
    1) "key001"
    2) "key002"
    redis-S:6379> get key001
    "5.9"
    redis-S:6379> append key001 -xxx
    (integer) 7
    redis-S:6379> get key001
    "5.9-xxx"
    redis-S:6379> append key003 new-value
    (integer) 9
    redis-S:6379> keys *
    1) "key003"
    2) "key001"
    3) "key002"
    redis-S:6379> get key003
    "new-value"
    redis-S:6379>

Redis hash 命令

reference

猜你喜欢

转载自blog.csdn.net/haiyoung/article/details/81192313