当前位置: 首页 > article >正文

【Redis】基本命令

Redis命令行客户端

现在我们已经启动了Redis服务,下面将介绍如何使用redis - cli连接、操作Redis服务。客户端和服务端的交互过程如图1 - 3所示。

redis - cli可以使用两种方式连接Redis服务器。

  • 第一种是交互式方式:通过redis - cli -h {host} -p {port}的方式连接到Redis服务,后续所有的操作都是通过交互式的方式实现,不需要再执行redis - cli了,例如:
redis - cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set key hello
OK
127.0.0.1:6379> get key
"hello"
  • 第二种是命令方式:用redis - cli -h {host} -p {port} {command}就可以直接得到命令的返回结果,例如:
redis-cli -h 127.0.0.1 -p 6379 ping
PONG
redis-cli -h 127.0.0.1 -p 6379 set key hello
OK
redis-cli -h 127.0.0.1 -p 6379 get key
"hello"

这里有两点要注意:

  1. 由于我们连接的Redis服务位于127.0.0.1,端口也使用的是默认的6379端口,所以可以省略 -h {host} -p {port}。

  2. redis-cli是学习Redis的重要工具,后续的大量章节都是用它来做讲解。

有关redis - cli提供的更为强大的功能将在后续章节做详细介绍。

在这里插入图片描述

基本全局命令

Redis有5种数据结构,但它们都是键值对种的值,对于键来说有一些通用的命令。

KEYS

返回所有满足样式(pattern)的key。支持如下统配样式。

  • h??llo 匹配 hello, hallo 和 hxllo
  • h*llo 匹配 hllo 和 heeeello
  • h[a e]llo 匹配 hello 和 hallo 但不匹配 hillo
  • h[^e]llo 匹配 hallo, hbllo, …但不匹配 hello
  • h[a - b]llo 匹配 hallo 和 hbllo

语法

KEYS pattern

命令有效版本:1.0.0之后
时间复杂度:O(N)
返回值:匹配pattern的所有key。

示例

1 redis> MSET firstname Jack lastname Stuntman age 35
2 "OK"
3 redis> KEYS *name*
4 1) "firstname"
5 2) "lastname"
6 redis> KEYS a??
7 1) "age"
8 redis> KEYS *
9 1) "age"
10 2) "firstname"
11 3) "lastname"

EXISTS

判断某个key是否存在。

语法

EXISTS key [key ...]

命令有效版本:1.0.0之后
时间复杂度:O(1)
返回值:key存在的个数。

示例

1 redis> SET key1 "Hello"
2 "OK"
3 redis> EXISTS key1
4 (integer) 1
5 redis> EXISTS nosuchkey
6 (integer) 0
7 redis> SET key2 "World"
8 "OK"
9 redis> EXISTS key1 key2 nosuchkey
10 (integer) 2

DEL

删除指定的key。

语法

DEL key [key ...]

命令有效版本:1.0.0之后
时间复杂度:O(1)
返回值:删除掉的key的个数。

示例

1 redis> SET key1 "Hello"
2 "OK"
3 redis> SET key2 "World"
4 "OK"
5 redis> DEL key1 key2 key3
6 (integer) 2

EXPIRE

为指定的key添加秒级的过期时间(Time To Live TTL)

语法

EXPIRE key seconds

命令有效版本:1.0.0之后
时间复杂度:O(1)
返回值:1表示设置成功。0表示设置失败。

示例

1 redis> SET mykey "Hello"
2 "OK"
3 redis> EXPIRE mykey 10
4 (integer) 1
5 redis> TTL mykey
6 (integer) 10

TTL

获取指定key的过期时间,秒级。

语法

TTL key

命令有效版本:1.0.0之后
时间复杂度:O(1)
返回值:剩余过期时间。-1表示没有关联过期时间,-2表示key不存在。

示例

1 redis> SET mykey "Hello"
2 "OK"
3 redis> EXPIRE mykey 10
4 (integer) 1
5 redis> TTL mykey
6 (integer) 10

💡 EXPIRE和TTL命令都有对应的支持毫秒为单位的版本:PEXPIRE和PTTL,详细用法就不再介绍了。

TYPE

返回key对应的的数据类型。

语法

TYPE key

命令有效版本:1.0.0之后
时间复杂度:O(1)
返回值:none, string, list, set, zset, hash and stream.。

示例

1 redis> SET key1 "value"
2 "OK"
3 redis> LPUSH key2 "value"
4 (integer) 1
5 redis> SADD key3 "value"
6 (integer) 1
7 redis> TYPE key1
8 "string"
9 redis> TYPE key2
10 "list"
11 redis> TYPE key3
12 "set"
http://www.lryc.cn/news/2396023.html

相关文章:

  • 爬虫工具链的详细分类解析
  • 鸿蒙编译ffmpeg库
  • 哈希:闭散列的开放定址法
  • Unity-QFramework框架学习-MVC、Command、Event、Utility、System、BindableProperty
  • FPGA实现CNN卷积层:高效窗口生成模块设计与验证
  • LeetCode 3068.最大节点价值之和:脑筋急转弯+动态规划(O(1)空间)
  • 2.2HarmonyOS NEXT高性能开发技术:编译优化、内存管理与并发编程实践
  • BLIP-2
  • 【Go-6】数据结构与集合
  • 支持向量机(SVM)例题
  • SQL中各个子句的执行顺序
  • PHP下实现RSA的加密,解密,加签和验签
  • 本地部署消息代理软件 RabbitMQ 并实现外部访问( Windows 版本 )
  • 每日c/c++题 备战蓝桥杯(P2240 【深基12.例1】部分背包问题)
  • Java异步编程:CompletionStage接口详解
  • Java后端接受前端数据的几种方法
  • Oracle OCP认证的技术定位怎么样?
  • powershell7.5@.net环境@pwsh7.5在部分windows10系统下的运行问题
  • 基于微信小程序的垃圾分类系统
  • CSS3 渐变、阴影和遮罩的使用
  • Spring Boot 全局配置文件优先级
  • 流媒体基础解析:视频清晰度的关键因素
  • grid网格布局
  • C#数字金额转中文大写金额:代码解析
  • Vehicle HAL(2)--Vehicle HAL 的启动
  • JS中的函数防抖和节流:提升性能的关键技术
  • Android Compose开发架构选择指南:单Activity vs 多Activity
  • 【Netty系列】Reactor 模式 1
  • vue3 el-input type=“textarea“ 字体样式 及高度设置
  • 并发解析hea,转为pdf格式