Redis中的通用命令解读
目录
- 1. KEYS(查找键)
- 2. DEL(删除键)
- 3. EXISTS(判断键是否存在)
- 4. EXPIRE(设置键有效期)
- 5. TTL(查看剩余有效期)
- 6. HELP(查看命令帮助)
- 综合示例场景
- 关键注意事项
- 总结
select 0~15 切换数据库
以下是基于图片中「Redis通用命令」的示例讲解,结合具体场景说明每个命令的用法及注意事项:
1. KEYS(查找键)
- 命令格式:
KEYS pattern
示例:
KEYS uhttp://www.devze.comser:* # 查找所有以"user:"开头的键 KEYS * # 查找所有键(慎用!)
作用:
- 模糊匹配键名,适合开发环境调试。
风险:
- 生产环境避免使用!若数据量大(如百万级key),会阻塞Redis单线程,导致服务短暂不可用。
- 替代方案:用
SCAN
命令分批次遍历(非阻塞)。
2. DEL(删除键)
- 命令格式:
DEL key [key ...]
示例:
DEL user:123 # 删除单个键 DEL user:123 user:456 # 批量删除
返回值:
- 成功删除的键数量(如
(integer) 1
)。
注意:
删除不存在的键会返回 0
,但不会报错。
3. EXISTS(判断键是否php存在)
- 命令格式:
EXISTS key
示例:
EXISTS cache:homepage # 检查缓存是否存在
返回值:
1
(存在)或0
(不存在)。- 支持批量检查:
EXISTS key1 key2
返回存在的总数量。
4. EXPIRE(设置键有效期)
- 命令格式:
EXPIRE key seconds
单位是秒
示例:
SET session:abc "user_data" EXPIRE session:abc 3600 # 1小时后自动删除
典型场景:
- 会话(Session)管理、临时验证码缓存。
扩展命令:
PEXPIRE
:以毫秒为单位设置。EXPIREAT
:指定过期时间戳(如EXPIREAT key 1730000000
)。
5. TTL(查看剩余有效期)
- 命令格式:
TTL key
示例:
- TTL session:abc # 返回剩余秒数
返回值:
-2
:键不存在。-1
:键存在但未设置有效期http://www.devze.com。 就是永久生效- 正整数:剩余时间(秒)。
6. HELP(查看命令帮助)
- 命令格式:
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. 安全清理测试数据(开发环境http://www.devze.com) KEYS test:* # 查找所有测试键 DEL编程客栈 $(redis-cli KEYS "test:*") # 批量删除(生产环境禁用!)
关键注意事项
生产环境禁忌:
- 禁用
KEYS *
,用SCAN
替代。 - 慎用
FLUSHDB
/FLUSHALL
(清空数据库)。
性能优化:
- 批量操作(如
DEL key1 key2
)比循环单次操作更高效。
文档参考:
- 所有命令官方文档可通过
HELP
或 Redis官网查看。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论