zoukankan      html  css  js  c++  java
  • 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       #列表

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

  • 相关阅读:
    跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现
    谈谈程序员的非技术思维
    跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现
    面试官问,你在开发中有用过什么设计模式吗?我懵了
    关于校招面试要怎么准备,这里有一些过来人的建议
    数据库中间件漫谈
    「从零单排HBase 06」你必须知道的HBase最佳实践
    「从零单排HBase 05」核心特性region split
    《Scalable IO in Java》译文
    Java多线程同步工具类之Semaphore
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/8045335.html
Copyright © 2011-2022 走看看