美文网首页开源项目
Redis——API的理解和使用

Redis——API的理解和使用

作者: 莫问以 | 来源:发表于2018-11-13 09:35 被阅读5次

    一、全局命令
    1、查看所有键

    keys *
    
    下面插入了3对字符串类型的键值对:
    127.0.0.1:6379> set hello world
    OK
    127.0.0.1:6379> set java jedis
    OK
    127.0.0.1:6379> set python redis-py
    OK
    
    keys*命令会将所有的键输出:
    127.0.0.1:6379> keys *
    1) "python"
    2) "java"
    3) "hello"
    

    2、键总数

    dbsize
    
    dbsize命令会返回当前数据库中键的总数。假如当前数据库有4个键,分别是hello、
    java、python、mylist,所以dbsize的结果是4:
    127.0.0.1:6379> dbsize
    (integer) 4
    
    dbsize命令在计算键总数时不会遍历所有键,而是直接获取Redis内置的键总数变量,所以
    dbsize命令的时间复杂度是O(1)。而keys命令会遍历所有键,所以它的时间复杂
    度是O(n),当Redis保存了大量键时,线上环境禁止使用。
    

    3、检查键是否存在

    exists key
    
    如果键存在则返回1,不存在则返回0:
    127.0.0.1:6379> exists java
    (integer) 1
    127.0.0.1:6379> exists not_exist_key
    (integer) 0
    

    4、删除键

    del key [key ...]
    
    del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除,例如将字符串键java删除:
    127.0.0.1:6379> del java
    (integer) 1
    127.0.0.1:6379> exists java
    (integer) 0
    返回结果为成功删除键的个数,假设删除一个不存在的键,就会返回0。
    
    同时del命令可以支持删除多个键:
    127.0.0.1:6379> set a 1
    OK
    127.0.0.1:6379> set b 2
    OK
    127.0.0.1:6379> set c 3
    OK
    127.0.0.1:6379> del a b c
    (integer) 3
    

    5、键过期

    expire key seconds
    
    Redis支持对键添加过期时间,当超过过期时间后,会自动删除键,例如为键hello设置10秒过期时间:
    127.0.0.1:6379> set hello world
    OK
    127.0.0.1:6379> expire hello 10
    (integer) 1
    
    ttl命令会返回键的剩余过期时间,它有3种返回值:
    A)大于等于0的整数:键剩余的过期时间。
    B)-1:键没设置过期时间。
    C)-2:键不存在
    
    可以通过ttl命令观察键hello的剩余过期时间:
    # 还剩 7 秒
    127.0.0.1:6379> ttl hello
    (integer) 7
    
    # 还剩 1 秒
    127.0.0.1:6379> ttl hello
    (integer) 1
    
    # 返回结果为 -2 ,说明键 hello 已经被删除
    127.0.0.1:6379> ttl hello
    (integer) -2
    127.0.0.1:6379> get hello
    (nil)
    

    6、键的数据结构类型

    type key
    
    例如键a是字符串类型,返回结果为string;键mylist是列表类型:
    127.0.0.1:6379> set a b
    OK
    127.0.0.1:6379> type a
    string
    127.0.0.1:6379> rpush mylist a b c d e f g
    (integer) 7
    127.0.0.1:6379> type mylist
    list
    键不存在,则返回none。
    

    更多命令学习链接:http://www.runoob.com/redis/redis-keys.html

    相关文章

      网友评论

        本文标题:Redis——API的理解和使用

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