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

【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"

相关文章:

  • 油桃TV v20250519 一款电视端应用网站聚合TV播放器 支持安卓4.1
  • 英飞凌SBC芯片TLE9263QX for STM32的库函数与使用
  • git push Git远端意外挂断
  • 基于FPGA的DES加解密系统verilog实现,包含testbench和开发板硬件测试
  • AI笔记 - 模型调试 - 调试方式
  • 基于ssm的商城系统(全套)
  • 为 MCP Server 提供 Auth 认证,及 Django 实现示例
  • 20250528-C#知识:枚举
  • 学习路之Nginx--不同域名的反向代理
  • MySQL MVCC(多版本并发控制)详解
  • 力扣热题100之二叉树的中序遍历
  • 力扣HOT100之回溯:51. N 皇后
  • 学习python day10
  • 【白雪讲堂】多模态技术:统一认知的优化器
  • [CISCN 2021初赛]glass
  • OpenLayers 加载网格信息
  • Redis 5 种基础数据结构?
  • LiveNVR 直播流拉转:Onvif/RTSP/RTMP/FLV/HLS 支持海康宇视天地 SDK 接入-视频广场页面集成与视频播放说明
  • 《清晰思考》
  • 实验设计与分析(第6版,Montgomery)第4章随机化区组,拉丁方, 及有关设计4.5节思考题4.1~4.4 R语言解题
  • 微信公众号微网站怎么做的/产品推广计划书怎么写
  • 大理州住房和城乡建设局网站/西安百度百科
  • 做网站一般长宽多少/宁波seo网络推广外包报价
  • iapp网站做软件教程/企业培训师资格证报考2022
  • android app开发 wordpress/佛山企业用seo策略
  • qq空间怎么做网站/seo如何快速排名百度首页