API的理解和使用——全局命令
命令 | 功能 |
set | 创建键值对 |
keys | 遍历查看所有键 |
exists | 判断一个键是否存在,1存在,0不存在 |
dbsize | 当前数据库中有多少个键 |
del | 删除一个或多个键 |
expire | 设置过期时间 |
ttl | 查看过期时间 |
type | 判断键的类型 |
Redis有5种数据结构,它们是键值对中的值,对于键来说有一些通用的命令。
1.查看所有键
命令:keys *
#keys *会将所有的键输出
127.0.0.1:> keys *
) "hello"
) "a"
) "python"
) "mylist"
) "name" #添加一个键
127.0.0.1:> set World peace
OK
127.0.0.1:> keys *
) "hello"
) "a"
) "python"
) "mylist"
) "World" #已经添加
) "name"
2.键总数
命令:dbsize
dbsize命令会返回当前数据库中键的总数。
127.0.0.1:> dbsize
(integer) #一共存在6个键
127.0.0.1:> keys * #查看所有
) "hello"
) "a"
) "python"
) "mylist"
) "World"
) "name"
dbsize命令在计算键总数时不会遍历所有键,而是直接获取Redis内置的键总数变量,所以dbsize命令的时间复杂度是O(1)。
而keys命令会遍历所有键,所以它的时间复杂度是O(n),当Redis保存了大量键时,线上环境禁止使用。
3检查键是否存在
命令:exists key
如果键存在则返回1,不存在则返回0。
127.0.0.1:> exists name
(integer) #存在
127.0.0.1:> exists huaxia
(integer) #不存在
4.删除键
命令:del key [key ...]
del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除:
127.0.0.1:> del python
(integer) #删除成功
127.0.0.1:> exists python
(integer) #查询不存在
127.0.0.1:> del name
(integer)
127.0.0.1:> exists name
(integer)
返回结果为成功删除键的个数,假如删除一个不存在的键,就会返回0:
127.0.0.1:> del maoxian
(integer) #删除个数为0,证明不存在
同时del命令可以支持删除多个键:
127.0.0.1:> set Paul
OK
127.0.0.1:> set Harden
OK
127.0.0.1:> set Gordon
OK
127.0.0.1:> del Paul Harden Gordon
(integer)
5.键过期
语法:expire key times
Redis支持对键添加过期时间,当超过过期时间后,会自动删除键。
127.0.0.1:> set manzi zero
OK #添加一个键
127.0.0.1:> expire manzi
(integer) #设置8秒的过期时间
127.0.0.1:> ttl manzi
(integer) #还剩3秒
127.0.0.1:> ttl manzi
(integer) - #键已经被删除
ttl命令会返回键的剩余过期时间,它有3种返回值:
(1)大于等于0的整数:键剩余的过期时间。
(2)-1:键没设置过期时间
(3)-2:键不存在
127.0.0.1:> exists hello
(integer) #键存在
127.0.0.1:> ttl hello
(integer) - #没有设置过期时间
6.键的数据结构类型
命令:type key
127.0.0.1:> set a b
OK
127.0.0.1:> type a
string #字符串
127.0.0.1:> rpush list_one a b c d e
(integer)
127.0.0.1:> type list_one
list #列表
键的数据类型指的是它的值代表的数据类型,单独讨论键没有意义。
API的理解和使用——全局命令的更多相关文章
- 深入剖析Redis系列:Redis数据结构与全局命令概述
前言 Redis 提供了 5 种数据结构.理解每种数据结构的特点,对于 Redis 的 开发运维 非常重要,同时掌握 Redis 的 单线程命令处理 机制,会使 数据结构 和 命令 的选择事半功倍. ...
- 2.API的理解和使用
标题 : 2.API的理解和使用 目录 : Redis 序号 : 2 zset的成员是唯一的,但分数(score)却可以重复. 有序集合的内部编码 1.ziplist(压缩列表):当有序集合的 ...
- qnx:从API开始理解QNX -- 消息传递
从API开始理解QNX -- 消息传递 http://www.openqnx.com/chinese/viewtopic.php?f=5&t=2161 1. 频道与连接 Chann ...
- 【redis 学习系列】API的理解与使用(一)
Redis提供了5种数据结构,以下介绍一些预备知识以及Redis的5种数据结构 1.预备知识 1.1 全局命令 Redis的5种数据结构,它们是键值对中的值,对于键来说有一些通用的命令. (1)查看所 ...
- 如何在Vue中建立全局引用或者全局命令
1 一般在vue中,有很多vue组件,这些组件每个都是一个文件.都可能需要引用到相同模块(或者插件).我们不想每个文件都import 一次模块. 如果是基于vue.js编写的插件我们可以用 Vue.u ...
- Web API 源码剖析之全局配置
Web API 源码剖析之全局配置 Web API 均指Asp.net Web API .本节讲述的是基于Web API 系统在寄宿于IIS. 本节主要讲述Web API全局配置.它是如何优雅的实现 ...
- 第二章 API的理解和使用
2.1.1全局命令 Key * 查看所有键,(慎用,会把所有键都遍历一次并列出) Dbsize 查看键总数,不会遍历所有键,只是从内置函数中读取一个数 Exists [key] 检查键是否存在 Del ...
- Nginx_全局命令设置
刚安装好的Nginx, 命令需要去sbin目录执行,比较麻烦,设置下全局命令,就无需进入nginx的sbin目录执行nginx命令了 1.创建文件 vim /etc/init.d/nginx 把下面代 ...
- Vue基础二之全局API、实例属性和全局配置,以及组件进阶(mixins)的详细教程(案列实现,详细图解,附源码)
本篇文章主要是写Vue.directive().Vue.use()等常用全局API的使用,vm.$props.vm.$options.vm.$slots等实例属性的使用,以及Vue全局配置.组件的mi ...
随机推荐
- 在网页里插入flash的代码
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://down ...
- python核心编程学习(第三版)之网络编程
套接字 套接字是计算机网络数据结构.在任何类型的通信开始之前,网络应用程序必须创建套接字. 有两种类型的套接字,基于文件和面向网络的. unix套接字是第一个家族,AF_UNIX代表地址家族,缩写AF ...
- GCC编译笔记
需要移植一个vs2008的项目到linux上,代码比较复杂,重新写比较困难,于是开始折腾 首先移植到codeblocks上,sprints_s这类的vs函数都要改,windows调用要改 编译通过 c ...
- spring boot 读取配置文件(application.yml)中的属性值
在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值: 1.引入依赖: <!-- 支持 @ConfigurationProperties 注 ...
- Ubuntu下安装JDK图文解析
我们在64位的Ubuntu中安装JDK,选择的是jdk1.6.0_32版本号.安装文件名称为jdk-6u32-linux-x64.bin(这个是64位系统的),假设是32位系统的还须要去官网下载32位 ...
- NodeJS 安装cnpm命令行工具
在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...
- bzoj4010【HNOI2015】菜肴制作
4010: [HNOI2015]菜肴制作 Time Limit: 5 Sec Memory Limit: 512 MB Submit: 981 Solved: 480 [Submit][Statu ...
- C语言日期计算器
记录下码子 # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <stdlib.h> int days ...
- centos部署Python环境
在centos上部署Python之前,我们需要先配置开发环境. 1.安装Python依赖的开发工具包 gcc自然少不了,可以直接用“Development Tools”: yum grouplist ...
- .NET C# 【小技巧】控制台程序,运行是否弹出窗口选择!
选中控制台程序项目,右键→属性→应用程序栏→输出类型: 1.Windows 应用程序(不弹出提示框)! 2.控制台应用程序(弹出提示框)! 3.类库(类库生成dll,是不能直接运行的,类库供应用程序调 ...