Redis全局命令
时间:2022-05-05
本文章向大家介绍Redis全局命令,主要内容包括查看所有键、查看键总数、检查键是否存在、删除键、键过期、查看键的数据结构类型、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
redis有5种数据结构,他们是键值对中的值,对于键来说有一些通用的命令。
查看所有键
语法:keys *
[root@vultr ~]# redis-cli
127.0.0.1:6379> keys *
1) "d"
2) "nihao"
3) "c"
4) "hello"
5) "redis"
6) "lianst"
7) "mylist"
8) "b"
9) "a"
10) "lian"
查看键总数
语法:dbsize
[root@vultr ~]# redis-cli
127.0.0.1:6379> keys *
1) "d"
2) "nihao"
3) "c"
4) "hello"
5) "redis"
6) "lianst"
7) "mylist"
8) "b"
9) "a"
10) "lian"
127.0.0.1:6379> dbsize
(integer) 10
dbsize命令在计算键总数的时候不会遍历所有键,而是直接获取redis内置的键总数变量,所以dbsize命令的时间复杂度是0(1)(时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数)。而keys命令会遍历所有键,所以他的时间复杂度是O(n),当redis保存大量键时,线上环境禁止使用。
检查键是否存在
检查键是否存在使用exists key查看,如果键存在则返回1,不存在就返回0。
语法:exists key
127.0.0.1:6379> keys *
1) "d"
2) "nihao"
3) "c"
4) "hello"
5) "redis"
6) "lianst"
7) "mylist"
8) "b"
9) "a"
10) "lian"
127.0.0.1:6379> exists hello
(integer) 1
127.0.0.1:6379> exists linux
(integer) 0
删除键
del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除,如下所示:
语法:del key | del key1 key2 key3 ...
127.0.0.1:6379> keys *
1) "nihao"
2) "c"
3) "hello"
4) "redis"
5) "lianst"
6) "mylist"
7) "b"
8) "a"
9) "lian"
127.0.0.1:6379> del nihao
(integer) 1
127.0.0.1:6379> exists nihao
(integer) 0
127.0.0.1:6379> del mylist
(integer) 1
127.0.0.1:6379> exists mylist
(integer) 0
返回的结果是成功删除键的个数,架设删除一个不存在的键,就会返回0。
127.0.0.1:6379> del vultr
(integer) 0
同时,del命令可以支持删除多个键:
127.0.0.1:6379> keys *
1) "c"
2) "hello"
3) "redis"
4) "lianst"
5) "b"
6) "a"
7) "lian"
127.0.0.1:6379> del c hello a b
(integer) 4
127.0.0.1:6379> keys *
1) "redis"
2) "lianst"
3) "lian"
键过期
语法:expires 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中返回值:
- 大于等于0的证书:键剩余的过期时间
- -1:键没有设置过期的时间
- -2:键不存在
可以通过ttl命令来观察键hello的剩余过期时间:
127.0.0.1:6379> ttl hello
(integer) 4 # 还剩4秒
127.0.0.1:6379> ttl hello
(integer) 3 # 还剩3秒
127.0.0.1:6379> ttl hello
(integer) -2 # 返回结果为-2,说明键hello已经被删除了
查看键的数据结构类型
语法:type key
例如键hello是字符串类型,返回结果为string。键mylist是列表类型,返回结果是list。
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> type hello
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。
127.0.0.1:6379> type lian
none
- keepalived+nginx搭建高可用(注意点)
- 我的WCF之旅(10):如何在WCF进行Exception Handling
- 安装nginx出现的问题
- 18.11 LVS DR模式搭建
- Linux基础(day64)
- 我的WCF之旅(9):如何在WCF中使用tcpTrace来进行Soap Trace
- 物联网设备已沦陷,咖啡机也不能例外
- 我的WCF之旅(13):创建基于MSMQ的Responsive Service
- 开发自己的Data Access Application Block[上篇]
- 18.9/18.10 LVS NAT模式搭建
- 谈谈WCF中的Data Contract (1):Data Contract Overview
- Linux基础(day66)
- 字符串的驻留(String Interning)
- 19.5 忘记Admin密码如何做
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- R语言风险价值VaR(Value at Risk)和损失期望值ES(Expected shortfall)的估计
- R语言机器学习实战之多项式回归
- 5000字!带你零距离接触websocket!
- 使用 GitLab CI 和 Docker 自动部署 Spring Boot 应用
- 玩转StyleGAN2模型:教你生成动漫人物
- R语言时间序列数据指数平滑法分析交互式动态可视化
- 再见Excel!最强国产开源在线表格Luckysheet走红GitHub
- R语言广义线性模型索赔频率预测:过度分散、风险暴露数和树状图可视化
- R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用
- sas神经网络:构建人工神经网络模型来识别垃圾邮件
- 图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
- 手写dubbo框架9-SPI实现
- R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归
- VsCode插件之Live Serve探秘.(上)
- R语言小数定律的保险业应用:泊松分布模拟索赔次数