修复:清除 404 主题缓存时避免遍历 Redis 键

#42413 中,主题的缓存失效逻辑进行了重新设计。

然而,Discourse.cache.keys("page_not_found_topics:*").each { |key| Discourse.cache.redis.del(key) } 将遍历所有 Redis 键,导致性能问题,并且在键数量较大时可能会超时。

在这种情况下,如果用户将主题移动到受限类别,可能会遇到 500 错误。

此提交将遍历范围限制为 Discourse.cache.normalize_key("page_not_found_topics:#{locale}"),这比整个 Redis 小得多,并添加了一个测试以避免执行 scan_each。在 #42413 中,主题的缓存失效逻辑进行了重新设计。