Redis | Redis 通用命令
通用命令介绍
Redis 通用命令是一些 Redis 下可以作用在常用数据结构上的常用命令和一些基础的命令,比如删除键、对键进行改名、判断键是否存在等。简单说,就是 keys 分类的命令,如下图。
上图中圈中的部分,就是所谓的通用的命令。如果想要在 Redis 中查看相关的命令也可以使用 help 命令来进行查看,命令如下。
127.0.0.1:6379> help @generic
在按下回车后,可以看到相应分类命令的说明,如下图。
常用 keys 命令
为了大家能够直接复制命令进行测试,下面我就不截图了。
1、del 命令
del 命令用来 删除指定的一个或多个 key
删除一个 key
127.0.0.1:6379> set test 1234
OK
127.0.0.1:6379> get test
"1234"
127.0.0.1:6379> del test
(integer) 1
127.0.0.1:6379> get test
(nil)
删除多个 key
127.0.0.1:6379> mset test1 1111 test2 2222
OK
127.0.0.1:6379> mget test1 test2
1) "1111"
2) "2222"
127.0.0.1:6379> del test1 test2
(integer) 2
127.0.0.1:6379> mget test1 test2
1) (nil)
2) (nil)
2、exists 命令
exists 命令用来 查询 key 是否存在
127.0.0.1:6379> mset test1 1111 test2 2222
OK
127.0.0.1:6379> EXISTS test1
(integer) 1
127.0.0.1:6379> exists test1 test2
(integer) 2
127.0.0.1:6379> exists test1 test2 test3
(integer) 2
127.0.0.1:6379> exists test3
(integer) 0
3、expire 命令
expire 命令用来 设置 key 的过期秒数
127.0.0.1:6379> get test1
"1111"
127.0.0.1:6379> expire test1 3
(integer) 1
127.0.0.1:6379> get test1
(nil)
与 expire 命令相关的命令有三个,分别是:
- expireat 命令用来 设置一个 UNIX 时间戳的过期时间,这个命令就不举例了
- pexpire 命令用来 设置 key 的有效时间以毫秒为单位
- pexpireat 命令用来 设置 key 的到期 UNIX 时间戳以毫秒为单位
4、keys 命令
keys 命令用来 查找所有匹配给定的模式的键
127.0.0.1:6379> keys *
1) "test3"
2) "url"
3) "test1"
4) "test2"
127.0.0.1:6379> keys test*
1) "test3"
2) "test1"
3) "test2"
在 Redis 中是支持模糊查询的,它有 3 个通配符,分别是:*、 ? 和 []
- *:通配任意多个字符
- ?:通配单个字符
- []:通配括号内的某 1 个字符
上面介绍了关于 * 的用法,下面来简单的看一下 ? 和 [] 的用法
[] 的用法如下:
127.0.0.1:6379> keys *[s]*
1) "s"
2) "lst"
? 的用法如下:
127.0.0.1:6379> keys ?
1) "s"
2) "z"
3) "h"
5、persist 命令
persist 命令用来 移除 key 的过期时间
127.0.0.1:6379> set url baidu.com
OK
127.0.0.1:6379> expire url 10
(integer) 1
127.0.0.1:6379> persist url
(integer) 1
127.0.0.1:6379> get url
"baidu.com"
127.0.0.1:6379>
6、ttl 命令
ttl 命令用来 获取 key 的有效时间(单位:秒)
127.0.0.1:6379> get test1
"1111"
127.0.0.1:6379> ttl test1
(integer) -1
127.0.0.1:6379> expire test1 10
(integer) 1
127.0.0.1:6379> ttl test1
(integer) 7
127.0.0.1:6379> ttl test1
(integer) 6
127.0.0.1:6379> ttl test1
(integer) 4
127.0.0.1:6379> ttl test1
(integer) -2
上面的命令是,我们用 expire 对一个 key 设置一个过期时间,然后使用 ttl 观察它的剩余时间
ttl 一个 key,如果返回 -1,则说明该 key 不会过期
ttl 一个 key,如果返回 -2,则说明没有指定的 key
与 ttl 相关的命令是 pttl 命令,它用来 获取 key 的有效毫秒数
7、randomkey 命令
randomkey 命令用来 返回一个随机的key
127.0.0.1:6379> randomkey
"url"
127.0.0.1:6379> randomkey
"url"
127.0.0.1:6379> randomkey
"test3"
127.0.0.1:6379> randomkey
"url"
127.0.0.1:6379> randomkey
"test2"
8、rename 命令
rename 命令用来 将一个 key 重命名
127.0.0.1:6379> rename url url1234
OK
127.0.0.1:6379> get url
(nil)
127.0.0.1:6379> get url1234
"baidu.com"
与 rename 相关的命令是 renamenx,它的作用是 重命名一个 key,新的 key 必须是不存在的 key
9、type 命令
type 命令用来 获取 key 的存储类型
127.0.0.1:6379> set url baidu.com
OK
127.0.0.1:6379> type url
string
127.0.0.1:6379> lpush lst 1234
(integer) 1
127.0.0.1:6379> lpush lst 2345
(integer) 2
127.0.0.1:6379> type lst
list
127.0.0.1:6379> sadd s 1234 2345 3456
(integer) 3
127.0.0.1:6379> type s
set
127.0.0.1:6379> zadd z 1112 222 333 444
(integer) 2
127.0.0.1:6379> type z
zset
127.0.0.1:6379> hset h name zhangsan
(integer) 1
127.0.0.1:6379> type h
hash
可以看到返回的类型当中有 string、list、set、zset 和 hash 等类型。
上面示例的部分命令我这里还没有进行总结,不过后面的部分会逐步的进行总结。
总结
把今天整理的命令完善了一个思维导图,图片如下。
思维导图会逐步的进行完善,到时也会把完整的思维导图进行分享。
- HDUOJ----Eddy's research I
- 【亚马逊加盟对抗谷歌联盟ONNX】微软Facebook深度学习开源联盟再添盟友
- HDUOJ--8球胜负
- HDUOJ--点球大战
- Golang语言社区--使用百度API获取经纬度
- HDUOJ---The number of divisors(约数) about Humble Numbers
- HDUOJ----最少拦截系统
- Go语言截取字符串函数用法
- HDUOJ -----免费馅饼
- HDUOJ----Super Jumping! Jumping! Jumping!
- HDUOJ----数塔
- Golang语言-并发支持
- HDUOJ-----I NEED A OFFER!
- HDUOJ---2546 饭卡
- 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 数组属性和方法
- leetcode树之从根到叶的二进制数之和
- Vue3 模板编译原理
- leetcode树之从上到下打印二叉树
- leetcode树之二叉搜索树的最近公共祖先
- leetcode树之从翻转二叉树
- Linux常见的持久化后门汇总
- 一篇文章带你使用 Python搞定对 Excel 表的读写和处理(xlsx文件的处理)
- 从 rollup 初版源码学习打包原理
- leetcode树之相同的树
- Mysql Sql 语句练习题 (50道)
- 【每日一具16】来了!扫描图片批量漂白修正软件
- 实现一个 webpack loader 和 webpack plugin
- 万字长文带你走进 JavaScript 的世界
- windows中常见后门持久化方法总结
- Python3爬虫实战【点触验证码】 — 模拟登陆bilibili