开发者

Redis中的通用命令解读

目录
  • 1. KEYS(查找键)
  • 2. DEL(删除键)
  • 3. EXISTS(判断键是否存在)
  • 4. EXPIRE(设置键有效期)
  • 5. TTL(查看剩余有效期)
  • 6. HELP(查看命令帮助)
  • 综合示例场景
  • 关键注意事项
  • 总结

Redis中的通用命令解读

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)。 

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新数据库

数据库排行榜