Il existe quatre méthodes pour supprimer le cache dans Redis : suppression directe (commande DEL), suppression par lots (commande KEYS + UNLINK), suppression floue (commande SCAN + UNLINK) et expiration basée sur le temps (TTL).
Comment supprimer le cache dans Redis
Supprimer directement
Utilisez la commande DEL
pour supprimer directement le cache de la clé spécifiée. DEL
命令直接删除指定键的缓存。
<code>DEL key_name</code>
批量删除
使用 KEYS
命令获取匹配特定模式的键,然后使用 UNLINK
命令批量删除这些键。
例如:删除所有以 product_*
开头的键:
<code>KEYS product_* UNLINK $(keyspace_keys ...)</code>
模糊删除
使用 SCAN
命令迭代所有键,并使用 Python 等脚本语言中的 fnmatch
模块来匹配键。匹配的键可以用 UNLINK
命令删除。
例如:删除所有包含字符串 user_ID
的键:
<code class="python">import redis import fnmatch r = redis.Redis() for key in r.scan_iter(): if fnmatch.fnmatch(key, "*user_ID*"): r.unlink(key)</code>
基于时间到期 (TTL)
如果为键设置了 TTL,键将在到期时自动删除。
例如:设置键 user_info
<code>EXPIRE user_info 600</code>
Utilisez la commande KEYS
pour obtenir les clés correspondant à un modèle spécifique, puis utilisez la commande UNLINK
pour supprimer ces clés par lots.
product_*
: SCAN
pour parcourir toutes les clés et utiliser un script tel que Python Le module fnmatch
dans le langage pour faire correspondre les clés. Les clés correspondantes peuvent être supprimées à l'aide de la commande UNLINK
. 🎜🎜🎜Exemple : Supprimez toutes les clés contenant la chaîne user_ID
: 🎜🎜rrreee🎜🎜Expiration basée sur le temps (TTL) 🎜🎜🎜Si la durée de vie est définie pour une clé, la clé expirera automatiquement lorsqu'elle expire supprimer. 🎜🎜🎜Par exemple : Réglez le TTL de la clé user_info
à 10 minutes : 🎜🎜rrreee🎜🎜Notes🎜🎜🎜🎜Faites attention à la sécurité lors de la suppression du cache, car cela peut entraîner une perte de données . 🎜🎜Utilisez la suppression floue avec prudence car elle peut supprimer d'autres clés par erreur. 🎜🎜Effacez régulièrement les caches qui ne sont plus nécessaires pour optimiser les performances de Redis. 🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!