美文网首页
Redis key键命令

Redis key键命令

作者: Devops海洋的渔夫 | 来源:发表于2019-08-19 01:00 被阅读0次

    redis是基于key -- value 存储的 NoSQL 数据库,那么下面来看看关于key的键命令。

    键命令

    查找键,参数⽀持正则表达式

    keys pattern

    • 例1:查看所有键

    keys *

    127.0.0.1:6379[1]> KEYS *
    1) "name"
    2) "a1"
    3) "a2"
    4) "a3"
    127.0.0.1:6379[1]> 
    
    • 例2:查看名称中包含a的键

    keys a*

    127.0.0.1:6379[1]> KEYS a*
    1) "a1"
    2) "a2"
    3) "a3"
    127.0.0.1:6379[1]> 
    

    判断键是否存在,如果存在返回1,不存在返回0

    exists key1

    • 例3:判断键a1是否存在

    exists a1

    127.0.0.1:6379[1]> exists a1
    (integer) 1
    127.0.0.1:6379[1]> exists a2
    (integer) 1
    127.0.0.1:6379[1]> exists name
    (integer) 1
    
    ## 查看不存在的a4键返回 0 
    127.0.0.1:6379[1]> exists a4
    (integer) 0
    127.0.0.1:6379[1]> 
    

    查看键对应的value的类型

    type key

    • 例4:查看键a1的值类型,为redis⽀持的五种类型中的⼀种

    type a1

    # 查看a1的value类型为string
    127.0.0.1:6379[1]> type a1
    string
    
    # 设置一个hash类型的value
    127.0.0.1:6379[1]> hset a5 name huangw 
    (integer) 1
    # 查看a5 value的类型为 hash
    127.0.0.1:6379[1]> type a5
    hash
    127.0.0.1:6379[1]> hget a5 name
    "huangw"
    127.0.0.1:6379[1]> 
    

    删除键及对应的值

    del key1 key2 ...

    • 例5:删除键a2、a3

    del a2 a3

    127.0.0.1:6379[1]> mget a1 a2 a3
    1) "python"
    2) "java"
    3) "c"
    127.0.0.1:6379[1]> del a2 a3
    (integer) 2
    127.0.0.1:6379[1]> mget a1 a2 a3
    1) "python"
    2) (nil)
    3) (nil)
    127.0.0.1:6379[1]> 
    

    设置过期时间,以秒为单位

    • 如果没有指定过期时间则⼀直存在,直到使⽤DEL移除

    expire key seconds

    • 例6:设置键'a1'的过期时间为3秒

    expire a1 3

    # 获取当前a1的值
    127.0.0.1:6379[1]> get a1
    "python"
    
    # 设置a1的值3秒后过期
    127.0.0.1:6379[1]> EXPIRE a1 3
    (integer) 1
    
    # 在3秒内查询a1的值
    127.0.0.1:6379[1]> get a1
    "python"
    127.0.0.1:6379[1]> get a1
    "python"
    
    # 在3秒后查询a1的值以及value类型
    127.0.0.1:6379[1]> get a1
    (nil)
    127.0.0.1:6379[1]> type a1
    none
    127.0.0.1:6379[1]> 
    

    查看有效时间,以秒为单位

    ttl key

    • 例7:查看键'bb'的有效时间

    ttl bb

    # 设置bb的值过期时间为10秒
    127.0.0.1:6379[1]> setex bb 10 bb
    OK
    # 查看bb的剩余有效时间
    127.0.0.1:6379[1]> ttl bb
    (integer) 7
    127.0.0.1:6379[1]> ttl bb
    (integer) 6
    127.0.0.1:6379[1]> ttl bb
    (integer) 6
    127.0.0.1:6379[1]> ttl bb
    (integer) 4
    127.0.0.1:6379[1]> ttl bb
    (integer) 3
    127.0.0.1:6379[1]> ttl bb
    (integer) 1
    127.0.0.1:6379[1]> ttl bb
    (integer) 0
    127.0.0.1:6379[1]> ttl bb
    (integer) -2
    # 查看过期后的值为nil
    127.0.0.1:6379[1]> get bb
    (nil)
    127.0.0.1:6379[1]> ttl bb
    (integer) -2
    

    相关文章

      网友评论

          本文标题:Redis key键命令

          本文链接:https://www.haomeiwen.com/subject/evljsctx.html