37人参与 • 2025-07-29 • Redis
select 0~15 切换数据库
以下是基于图片中「redis通用命令」的示例讲解,结合具体场景说明每个命令的用法及注意事项:
keys pattern
示例:
keys user:* # 查找所有以"user:"开头的键 keys * # 查找所有键(慎用!)
作用:
风险:
scan
命令分批次遍历(非阻塞)。del key [key ...]
示例:
del user:123 # 删除单个键 del user:123 user:456 # 批量删除
返回值:
(integer) 1
)。注意:
删除不存在的键会返回 0
,但不会报错。
exists key
示例:
exists cache:homepage # 检查缓存是否存在
返回值:
1
(存在)或 0
(不存在)。exists key1 key2
返回存在的总数量。expire key seconds
单位是秒示例:
set session:abc "user_data" expire session:abc 3600 # 1小时后自动删除
典型场景:
扩展命令:
pexpire
:以毫秒为单位设置。expireat
:指定过期时间戳(如 expireat key 1730000000
)。ttl key
示例:
返回值:
-2
:键不存在。-1
:键存在但未设置有效期。 就是永久生效help command
示例:
help del # 查看del命令的详细说明 help expire
包括命令语法、简介、版本支持、所属组(如 group: generic
)。
假设开发一个用户登录系统:
# 1. 存储用户登录令牌(有效期30分钟) set token:abc123 "user_id_456" expire token:abc123 1800 # 2. 检查令牌是否有效 exists token:abc123 # 返回1 ttl token:abc123 # 返回剩余时间(如1752秒) # 3. 用户退出时删除令牌 del token:abc123 # 返回1(删除成功) # 4. 安全清理测试数据(开发环境) keys test:* # 查找所有测试键 del $(redis-cli keys "test:*") # 批量删除(生产环境禁用!)
生产环境禁忌:
keys *
,用 scan
替代。flushdb
/flushall
(清空数据库)。性能优化:
del key1 key2
)比循环单次操作更高效。文档参考:
help
或 redis官网查看。以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论