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.