CORREGIDO: Evitar recorrer las claves de Redis al limpiar la caché de temas 404

En #42413, la lógica de invalidación de caché de los temas ha sido rediseñada.

Sin embargo, Discourse.cache.keys("page_not_found_topics:*").each { |key| Discourse.cache.redis.del(key) } recorrerá todas las claves de Redis, lo que provocará problemas de rendimiento y podría causar un tiempo de espera agotado si hay una gran cantidad de claves.

En estas circunstancias, los usuarios podrían encontrarse con un error 500 si mueven un tema a una categoría restringida.

Este commit restringe el ámbito del recorrido a Discourse.cache.normalize_key("page_not_found_topics:#{locale}"), que es mucho más pequeño que todo Redis, y también añade una prueba para evitar la ejecución de scan_each. En #42413, la lógica de invalidación de caché de los temas ha sido rediseñada.