【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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值