• API的理解和使用——全局命令


    全局命令
    命令 功能
    set 创建键值对
    keys 遍历查看所有键
    exists 判断一个键是否存在,1存在,0不存在
    dbsize 当前数据库中有多少个键
    del 删除一个或多个键
    expire 设置过期时间
    ttl 查看过期时间
    type 判断键的类型

    Redis有5种数据结构,它们是键值对中的值,对于键来说有一些通用的命令。

    1.查看所有键

    命令:keys *

    #keys *会将所有的键输出
    127.0.0.1:6379> keys *
    1) "hello"
    2) "a"
    3) "python"
    4) "mylist"
    5) "name"
    
    #添加一个键
    127.0.0.1:6379> set World peace
    OK
    127.0.0.1:6379> keys *
    1) "hello"
    2) "a"
    3) "python"
    4) "mylist"
    5) "World"  #已经添加
    6) "name"

    2.键总数

    命令:dbsize

    dbsize命令会返回当前数据库中键的总数。

    127.0.0.1:6379> dbsize
    (integer) 6   #一共存在6个键
    127.0.0.1:6379> keys *  #查看所有
    1) "hello"
    2) "a"
    3) "python"
    4) "mylist"
    5) "World"
    6) "name"

    dbsize命令在计算键总数时不会遍历所有键,而是直接获取Redis内置的键总数变量,所以dbsize命令的时间复杂度是O(1)。

    keys命令会遍历所有键,所以它的时间复杂度是O(n),当Redis保存了大量键时,线上环境禁止使用。

    3检查键是否存在

    命令:exists key

    如果键存在则返回1,不存在则返回0。

    127.0.0.1:6379> exists name
    (integer) 1    #存在
    127.0.0.1:6379> exists huaxia
    (integer) 0    #不存在

    4.删除键

    命令:del key [key ...]

    del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除:

    127.0.0.1:6379> del python
    (integer) 1    #删除成功
    127.0.0.1:6379> exists python
    (integer) 0    #查询不存在
    127.0.0.1:6379> del name
    (integer) 1
    127.0.0.1:6379> exists name
    (integer) 0

    返回结果为成功删除键的个数,假如删除一个不存在的键,就会返回0:

    127.0.0.1:6379> del maoxian
    (integer) 0  #删除个数为0,证明不存在

    同时del命令可以支持删除多个键:

    127.0.0.1:6379> set Paul 3
    OK
    127.0.0.1:6379> set Harden 13
    OK
    127.0.0.1:6379> set Gordon 10
    OK
    127.0.0.1:6379> del Paul Harden Gordon
    (integer) 3

    5.键过期

    语法:expire key times

    Redis支持对键添加过期时间,当超过过期时间后,会自动删除键。

    127.0.0.1:6379> set manzi zero
    OK    #添加一个键
    127.0.0.1:6379> expire manzi 8
    (integer) 1     #设置8秒的过期时间
    127.0.0.1:6379> ttl manzi
    (integer) 3     #还剩3秒
    127.0.0.1:6379> ttl manzi
    (integer) -2    #键已经被删除

    ttl命令会返回键的剩余过期时间,它有3种返回值:

    (1)大于等于0的整数:键剩余的过期时间。

    (2)-1:键没设置过期时间

    (3)-2:键不存在

    127.0.0.1:6379> exists hello
    (integer) 1    #键存在
    127.0.0.1:6379> ttl hello
    (integer) -1   #没有设置过期时间

    6.键的数据结构类型

    命令:type key

    127.0.0.1:6379> set a b
    OK
    127.0.0.1:6379> type a
    string  #字符串
    127.0.0.1:6379> rpush list_one a b c d e
    (integer) 5
    127.0.0.1:6379> type list_one
    list       #列表

    键的数据类型指的是它的值代表的数据类型,单独讨论键没有意义。

  • 相关阅读:
    继承项目第13周项目1基类中成员的访问限定符和派生类的继承方式
    架构业务wait和sleep区别狭义jiavaBean规范,三层架构模式
    文件文本编辑器ASP.net使用CKEditor(html文本编辑器)
    彩信对象android(5)_发彩信操作
    方法接口UML统一建模语言,java中七种设计原则,
    jquery实现jQuery实现图片轮播效果,jQuery实现焦点新闻
    设备文件BSP及嵌入式驱动开发笔记
    Invalidate
    C#集合类使用范例
    判断一段程序是由C 编译程序还是由C++编译程序编译的
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/8045335.html
Copyright © 2020-2023  润新知