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 ...
随机推荐
- apache mina框架
http://blog.csdn.net/ljx8928358/article/details/7759024
- DataSnap——利用TParams进行多表事务更新
DataSnap——利用TParams进行多表事务更新 服务端: function TSVRDM.multUpdatesByPar(UpdateParam: TParams; out ErrMsg: ...
- iOS 给三方日历加上农历
首先创建一个农历文件 LunarCalendar.h // // LunarCalendar.h // Hnair4iPhone // // Created by yingkong1987 on 13 ...
- Oracle 11gR2 RAC 单网卡 转 双网卡绑定 配置步骤
之前写过一篇双网卡绑定的文章,如下: Oracle RAC 与 网卡绑定 http://blog.csdn.net/tianlesoftware/article/details/6189639 Ora ...
- vim学习记录(转)
基本功 Vim有三种模式: 导航(navigation)模式. 这时候,字母就是上下左右键. 输入模式.这时候,你按字母键,才会输入字母. 命令模式.需要先输入":" 冒号,才会进 ...
- GlusterFS分布式文件系统高速管理
TaoCloud XDFS基于GlusterFS开源分布式文件系统,进行了系统优化.project化.定制化和产品化工作,五年以上的实践积累了大量实践经验,包含客户案例.最佳实践.定制开发.咨询服务和 ...
- Octave入门基础
Octave入门基础 一.简单介绍 1.1 Octave是什么? Octave是一款用于数值计算和画图的开源软件.和Matlab一样,Octave 尤其精于矩阵运算:求解联立方程组.计算矩阵特征值和特 ...
- Win7如何解决内存不能为Read的批处理命令
将下面文件保存为"解决内存不能为Read的批处理命令.cmd"双击运行即可 for %%1 in (%WinDir%\system32\*.dll) do regsvr32.e ...
- java web邮件收发
1.网上方法要导入两个包 mail.jar&activation.jar package com.zjh.shopping.util; import java.util.Date; impor ...
- vue中使用key管理可复用的元素
1.概述 Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染. key解决上述问题之外的情景:这两个元素是完全独立的,不要复用它们. 2.示例 <!DOCTYPE html&g ...