redis 命令清缓存
时间: 2025-06-30 19:17:09 浏览: 2
Redis 提供了多种命令用于清除缓存,具体使用哪种命令取决于实际需求,例如是删除单个键、多个键,还是清空整个数据库或实例。
### 清除单个缓存项
要删除 Redis 中的单个键值对,可以使用 `DEL` 命令。该命令会删除指定的键,并返回被删除键的数量。以下是一个 Python 示例代码:
```python
import redis
# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 清除缓存项
key = 'my_key'
deleted_count = r.delete(key)
print(f"已删除 {deleted_count} 个缓存项")
```
### 清除多个缓存项
如果需要同时删除多个键,可以使用通配符结合 `KEYS` 命令来获取所有匹配的键名,然后批量删除。需要注意的是,在生产环境中应谨慎使用 `KEYS` 命令,因为它可能会阻塞服务器直到完成扫描。一个替代方案是使用 `SCAN` 命令进行渐进式扫描和删除。
#### 使用 `KEYS` 删除多个键
```python
keys_to_delete = r.keys('pattern_*') # 替换为你的模式
if keys_to_delete:
deleted_count = r.delete(*keys_to_delete)
print(f"已删除 {deleted_count} 个缓存项")
```
#### 使用 `SCAN` 安全删除多个键
```python
cursor = 0
while True:
cursor, keys = r.scan(cursor, match='pattern_*') # 替换为你的模式
if keys:
deleted_count = r.delete(*keys)
print(f"已删除 {deleted_count} 个缓存项")
if cursor == 0:
break
```
### 清空整个数据库
若需一次性清空当前选择的数据库中的所有数据,可以使用 `FLUSHDB` 命令;若要清空整个 Redis 实例(即所有数据库),则可使用 `FLUSHALL` 命令。这两个命令都会无条件地移除所有数据,请确保在执行前做好确认[^1]。
```python
# 清空当前数据库
r.flushdb()
# 或者清空整个 Redis 实例
r.flushall()
```
### 注意事项
- 在使用 `DEL`, `FLUSHDB`, 和 `FLUSHALL` 等命令时,务必小心,因为这些操作不可逆。
- 对于大规模的数据集,建议采用更安全的方法如 `SCAN` 来避免对服务造成影响。
- 如果 Redis 被用作缓存层,并且与某些框架(如 Spring Cache)集成,则可能还需要考虑如何同步更新或清理对应的缓存状态[^2]。
以上就是 Redis 中常用的清除缓存命令及其使用方法。
阅读全文
相关推荐


















