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

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

Redis keys 命令


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值