redis怎么删除缓存

Redis 中有四种删除缓存的方法:直接删除(DEL 命令)、批量删除(KEYS + UNLINK 命令)、模糊删除(SCAN + UNLINK 命令)和基于时间到期 (TTL)。

如何删除 Redis 中的缓存

直接删除

使用 DEL 命令直接删除指定键的缓存。

DEL key_name

批量删除

使用 KEYS 命令获取匹配特定模式的键,然后使用 UNLINK 命令批量删除这些键。

例如:删除所有以 product_* 开头的键:

KEYS product_*
UNLINK $(keyspace_keys ...)

模糊删除

使用 SCAN 命令迭代所有键,并使用 Python 等脚本语言中的 fnmatch 模块来匹配键。匹配的键可以用

UNLINK 命令删除。

例如:删除所有包含字符串 user_ID 的键:

import redis
import fnmatch

r = redis.Redis()
for key in r.scan_iter():
    if fnmatch.fnmatch(key, "*user_ID*"):
        r.unlink(key)

基于时间到期 (TTL)

如果为键设置了 TTL,键将在到期时自动删除。

例如:设置键 user_info 的 TTL 为 10 分钟:

EXPIRE user_info 600

注意事项

  • 删除缓存时要注意安全性,因为这可能导致数据丢失。
  • 谨慎使用模糊删除,因为它可能误删除其他键。
  • 定期清除不再需要的缓存,以优化 Redis 性能。