Redis学习笔记二(Redis命令之客户端启动、键命令)【一】

本文详细介绍Redis客户端启动方式及常用键命令操作,包括删除、检查、过期时间设置、查找、移动、重命名等功能,适用于初学者快速掌握Redis键管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/102715831







从本篇开始介绍 Redis 中常用的命令,也对每个常用命令作个总结。


一、Redis客户端启动

在配置好环境变量后可以直接使用 redis-cli 命令启动 Redis客户端。(配置环境变量在这里我就不详细介绍了,相信在看我这篇博客的小伙伴们应该是有这个基础的,嘿嘿)

1、启动命令

  • 命令格式
redis-cli
  • 示例
redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING

PONG

注: 上述示例是连接到本地的 Redis 服务器,并执行了 PING 命令,PING 命令是用于检测 Redis 服务器是否已经启动了。


2、在远程服务上执行命令

  • 命令格式
redis-cli -h 主机地址 -p 端口号 -a 密码
  • 示例

连接主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上。

redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING

PONG


二、Redis常用键命令

Redis键命令 是用于管理 Redis 的键。

1、删除指定key

返回被删除 key的数量。

  • 命令格式
DEL 键名
  • 示例
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> get name
"zs"
redis 127.0.0.1:6379> del name
(integer) 1
redis 127.0.0.1:6379> get name
(nil)

2、判断指定key是否存在

若 key 存在返回 1 ,否则返回 0 。

  • 命令格式
EXISTS 键名
  • 示例
redis 127.0.0.1:6379> exists name
(integer) 0
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> exists name
(integer) 1

3、设置key的过期时间(秒)

设置成功返回 1 ,否则返回 0。

  • 命令格式
EXPIRE 键名 秒数
  • 示例

为键 name 设置过期时间为 60秒,60秒 后该键会自动删除。

redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> expire name 60
(integer) 1

4、设置key的过期时间(时间戳)

设置成功返回 1 ,否则返回 0。

  • 命令格式
EXPIREAT 键名 过期的时间戳(秒)
  • 示例

为键 name 设置在 2011-01-01 08:00:00 过期并自动删除。(时间戳为:1293840000)

redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> expireat name 1293840000
(integer) 1

5、设置key的过期时间(毫秒)

设置成功返回 1 ,否则返回 0。

  • 命令格式
PEXPIRE 键名 毫秒 
  • 示例

为键 name 设置在 600毫秒后自动删除。

redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> pexpire name 600
(integer) 1

6、设置key的过期时间(以毫秒计的时间戳)

设置成功返回 1 ,否则返回 0。

  • 命令格式
PEXPIREAT 键名 过期的时间戳(毫秒) 
  • 示例

为键 name 设置在 2011-01-01 08:00:00 过期并自动删除。(毫秒计的时间戳为:1293840000000)

redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> pexpireat name 1293840000000
(integer) 1

7、查找符合的key

符合给定模式的 key 列表 (Array)。

  • 命令格式
KEYS 模式
  • 示例
# 查找以 stu 为开头的 key:
redis 127.0.0.1:6379> keys stu*
1) "stu3"
2) "stu1"
3) "stu2"
# 获取 redis 中所有的 key 可用使用 *。
redis 127.0.0.1:6379> keys *
1) "stu3"
2) "stu1"
3) "stu2"

8、移动key到指定数据库

另一个数据库已经存在该key,则移动失败。移动成功返回 1 ,失败则返回 0 。

  • 命令格式
MOVE 键名 数据库
  • 示例
redis 127.0.0.1:6379> select 0
redis 127.0.0.1:6379> move name 1
(integer) 1

9、取消key的过期时间,使该key永不过期

当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。

  • 命令格式
PERSIST 键名
  • 示例
redis> set mykey "Hello"
OK
redis> expire mykey 10  # 为 key 设置生存时间
(integer) 1
redis> persist mykey    # 移除 key 的生存时间
(integer) 1

10、以秒为单位返回 key 的剩余过期时间

当 key 不存在,或者 key 没有设置剩余生存时间时,命令返回 -1,否则,以毫秒为单位,返回 key 的剩余生存时间。

  • 命令格式
TTL 键名
  • 示例
redis 127.0.0.1:6379> set name zhangsan
OK
redis 127.0.0.1:6379> expire name 60
(integer) 1
redis 127.0.0.1:6379> ttl name
(integer) 55
redis 127.0.0.1:6379> ttl aage
(integer) -1

11、随机返回key

当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil 。

  • 命令格式
RANDOMKEY
  • 示例
redis 127.0.0.1:6379> randomkey
(nil)
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> set age 10
OK
redis 127.0.0.1:6379> randomkey
"name"

12、修改key的名称

改名成功时提示 OK ,失败时候返回一个错误。

  • 命令格式
RENAME 旧的键名 新的键名
  • 示例
redis 127.0.0.1:6379> rename name na
OK
redis 127.0.0.1:6379> keys *
1) "na"
2) "age"
redis 127.0.0.1:6379> rename address addr
(error) ERR no such key

13、获取key的数据类型

它会返回 key 的数据类型,数据类型有:

  • none (key不存在)
  • string (字符串)
  • list (列表)
  • set (集合)
  • zset (有序集)
  • hash (哈希表)
  • 命令格式
TYPE 键名 
  • 示例
# 字符串
redis> SET name "sunny"
OK
redis> type name
string

# 列表
redis> lpush book_list "JAVA"
(integer) 1
redis> type book_list
list

# 集合
redis> sadd pat_set "dog"
(integer) 1
redis> type pat_set
set

博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小异常

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值