前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis | Redis 通用命令

Redis | Redis 通用命令

作者头像
码农UP2U
发布2020-08-26 15:15:56
8580
发布2020-08-26 15:15:56
举报
文章被收录于专栏:码农UP2U码农UP2U

通用命令介绍

Redis 通用命令是一些 Redis 下可以作用在常用数据结构上的常用命令和一些基础的命令,比如删除键、对键进行改名、判断键是否存在等。简单说,就是 keys 分类的命令,如下图。

上图中圈中的部分,就是所谓的通用的命令。如果想要在 Redis 中查看相关的命令也可以使用 help 命令来进行查看,命令如下。

代码语言:javascript
复制
127.0.0.1:6379> help @generic

在按下回车后,可以看到相应分类命令的说明,如下图。

常用 keys 命令

为了大家能够直接复制命令进行测试,下面我就不截图了。

1、del 命令

del 命令用来 删除指定的一个或多个 key

删除一个 key

代码语言:javascript
复制
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

代码语言:javascript
复制
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 是否存在

代码语言:javascript
复制
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 的过期秒数

代码语言:javascript
复制
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 命令用来 查找所有匹配给定的模式的键

代码语言:javascript
复制
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 个字符

上面介绍了关于 * 的用法,下面来简单的看一下 ? 和 [] 的用法

[] 的用法如下:

代码语言:javascript
复制
127.0.0.1:6379> keys *[s]*
1) "s"
2) "lst"

? 的用法如下:

代码语言:javascript
复制
127.0.0.1:6379> keys ?
1) "s"
2) "z"
3) "h"

5、persist 命令

persist 命令用来 移除 key 的过期时间

代码语言:javascript
复制
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 的有效时间(单位:秒)

代码语言:javascript
复制
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

代码语言:javascript
复制
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 重命名

代码语言:javascript
复制
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 的存储类型

代码语言:javascript
复制
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 等类型。

上面示例的部分命令我这里还没有进行总结,不过后面的部分会逐步的进行总结。

总结

把今天整理的命令完善了一个思维导图,图片如下。

思维导图会逐步的进行完善,到时也会把完整的思维导图进行分享。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档