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

【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.xdnf.cn/news/9581.html

相关文章:

  • Caddy如何在测试环境中使用IP地址配置HTTPS服务
  • VR 汽车:引领生产与设计的革命性飞跃​
  • 高端制造行业 VMware 替代案例合集:10+ 头部新能源、汽车、半导体制造商以国产虚拟化支持 MES、PLM 等核心应用系统
  • 漫画Android:Handler机制是怎么实现的?
  • 破能所,入不二
  • 文件服务端加密—minio配置https
  • OpenCV CUDA模块直方图计算------在 GPU上执行直方图均衡化(Histogram Equalization)函数equalizeHist
  • OpenAI大模型不听人类指令事件的技术分析与安全影响
  • ansible中的inventory.ini 文件详解
  • Ansible模块——Ansible的安装!
  • k8s Headless Service
  • 懒人云电脑方案:飞牛NAS远程唤醒 + 节点小宝一键唤醒、远程控制Windows!
  • day10机器学习的全流程
  • 嵌入式通用集成电路卡市场潜力报告:物联网浪潮下的机遇与挑战剖析
  • 政务小程序TOP3交互设计分析:便民服务的隐藏心机
  • C语言 文件操作(2)
  • 实验三 企业网络搭建及应用
  • 基于线结构光模型的工件孔洞检查
  • 第五章 面向对象(进阶)
  • CC工具箱2.0.6更新_免费_150+工具
  • 智能外呼机器人——客户筛选
  • 桃黑黑反斗战
  • Doris主键模型使用异步物化视图
  • Linux——数据链路层
  • 仿DeepSeek AI问答系统完整版(带RAG本地知识库+联网搜索+深度思考) +springboot+vue3
  • JS手写代码篇---Pomise.race
  • 2024 CKA模拟系统制作 | Step-By-Step | 11、题目搭建-查看可用节点数量
  • Mysql基础增删改查语句
  • XCTF-web-file_include
  • 智慧财务系统:企业数字化转型的核心引擎