redis 中有四種刪除緩存的方法:直接刪除(del 命令)、批量刪除(keys + unlink 命令)、模糊刪除(scan + unlink 命令)和基于時間到期 (ttl)。
如何刪除 Redis 中的緩存
直接刪除
使用 DEL
命令直接刪除指定鍵的緩存。
<code>DEL key_name</code>
登錄后復制
批量刪除
使用 KEYS
命令獲取匹配特定模式的鍵,然后使用 UNLINK
命令批量刪除這些鍵。
例如:刪除所有以 product_*
開頭的鍵:
<code>KEYS product_* UNLINK $(keyspace_keys ...)</code>
登錄后復制
模糊刪除
使用 SCAN
命令迭代所有鍵,并使用 Python 等腳本語言中的 fnmatch
模塊來匹配鍵。匹配的鍵可以用 UNLINK
命令刪除。
例如:刪除所有包含字符串 user_ID
的鍵:
<code class="<a style='color:#f60; text-decoration:underline;' href=" https: target="_blank">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
的 TTL 為 10 分鐘:
<code>EXPIRE user_info 600</code>
登錄后復制
注意事項
刪除緩存時要注意安全性,因為這可能導致數據丟失。
謹慎使用模糊刪除,因為它可能誤刪除其他鍵。
定期清除不再需要的緩存,以優化 Redis 性能。