面试题答案
一键面试在Redis中,可以使用DEL
命令结合KEYS
命令(不推荐在生产环境大规模使用,因为会阻塞服务器)或SCAN
命令来一次性删除多个匹配特定模式的键。
- 使用
KEYS
和DEL
(不推荐生产环境)- 命令:
# 获取匹配模式的所有键
KEYS pattern
# 删除获取到的键
DEL key1 key2...
- 举例:假设我们有一系列以`user:`开头的键,要删除它们。
# 获取所有以user:开头的键
KEYS user:*
# 假设获取到user:1、user:2、user:3,删除这些键
DEL user:1 user:2 user:3
- 使用场景:开发、测试环境,对性能要求不高,数据量不大的情况下快速删除一批键。
2. 使用SCAN
和DEL
(推荐生产环境)
- 命令:
# 初始化扫描,获取游标和匹配的键
SCAN 0 MATCH pattern COUNT count
# 根据游标继续扫描,直到游标为0
SCAN cursor MATCH pattern COUNT count
# 删除获取到的键
DEL key1 key2...
- 举例:同样删除以`user:`开头的键
# 初始化扫描
SCAN 0 MATCH user:* COUNT 100
# 假设返回游标1000和一批键,继续扫描
SCAN 1000 MATCH user:* COUNT 100
# 重复上述步骤直到游标为0,然后删除获取到的所有键
DEL key1 key2...
- 使用场景:生产环境,数据量较大,需要在不阻塞服务器的情况下逐步删除匹配特定模式的键。