Redis 全局通用命令详解(keys、exists、del、expire、ttl、type 等)

Redis 通用命令是针对所有数据类型 Key生效的基础命令,是日常操作、数据维护、过期控制的核心,必须熟练掌握。


1. KEYS 查看所有键

语法:KEYS 匹配规则

示例

KEYS * # 查询当前库所有key

KEYS user* # 查询以user开头的key

注意:生产环境禁止使用 KEYS *,遍历所有 key 会阻塞主线程,引发服务卡顿,生产用 SCAN 替代。


2. EXISTS 判断 key 是否存在

语法:EXISTS key [key2...]

返回值:存在的 key 数量

示例:EXISTS name

返回1存在,0不存在,支持批量判断多个key


3. DEL 删除 key

语法:DEL key [key2...]

返回值:成功删除的 key 数量

示例:DEL name age

支持批量删除,删除后数据直接清空,不可恢复


4. EXPIRE 设置 key 过期时间(秒)

语法:EXPIRE key 秒数

示例:EXPIRE token 3600 # token 1小时后过期

拓展:PEXPIRE key 毫秒数,设置毫秒级过期


5. TTL 查看 key 剩余过期时间

语法:TTL key

返回值说明

- 正数:剩余过期秒数

- -1:永久有效,无过期时间

- -2:key 不存在

拓展:PTTL 查看毫秒级剩余时间


6. TYPE 查看 key 数据类型

语法:TYPE key

返回:string / list / set / hash / zset

用于快速判断 key 类型,避免命令使用错误


7. PERSIST 取消 key 过期时间

语法:PERSIST key

将有过期时间的 key 改为永久有效


8. RENAME 重命名 key

语法:RENAME 旧key 新key

若新key已存在,会直接覆盖,谨慎使用


9. SCAN 迭代查询 key(生产安全)

替代 KEYS 命令,非阻塞式迭代查询,适配生产环境批量查询 key

语法:SCAN 游标 MATCH 规则 COUNT 数量