FIX: Vermeide das Durchlaufen von Redis-Schlüsseln beim Leeren des 404-Themen-Caches

In #42413 wurde die Cache-Invalidierungslogik für Themen neu gestaltet.

Allerdings würde Discourse.cache.keys("page_not_found_topics:*").each { |key| Discourse.cache.redis.del(key) } alle Redis-Schlüssel durchlaufen, was zu Leistungsproblemen führen und bei einer großen Anzahl von Schlüsseln zu einem Timeout führen könnte.

In diesem Fall könnten Benutzer einen 500-Fehler erhalten, wenn sie ein Thema in eine eingeschränkte Kategorie verschieben.

Dieser Commit beschränkt den Durchlaufbereich auf Discourse.cache.normalize_key("page_not_found_topics:#{locale}"), was deutlich kleiner ist als das gesamte Redis-System, und fügt einen Test hinzu, um die Ausführung von scan_each zu vermeiden. In #42413 wurde die Cache-Invalidierungslogik für Themen neu gestaltet.