في #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 ، تم إعادة تصميم منطق إبطال التخزين المؤقت للمواضيع.