Proposal for optimizing cache in Umbraco on large-scale .NET Core environments #17119
Replies: 2 comments 1 reply
-
I feel like a lot of what you are trying to solve here, will be solved by the new lazy loaded cache in Umbraco 15? "Lazy Loaded Content Cache. This project is internally split into three sub-projects; one for navigation, one for routing, and one for the actual cache handling. When it's done, you'll be able to utilize a hybrid cache and benefit from better performance during boot time and in general benefit from more flexibility related to cache." |
Beta Was this translation helpful? Give feedback.
-
Sorry to bring the bad news, but Umbraco 13 is in the support phase and will not be getting new features, nor will any older editions of Umbraco, most of them are EOL or also in the support phase. You can read about the lifecycle of Umbraco releases here: https://umbraco.com/products/knowledge-center/long-term-support-and-end-of-life/ For Umbraco 13 and below, people have been working around these issues in various ways. If you have this need then I would recommend you ask around on the forum at https://our.umbraco.com or Discord at https://discord.umbraco.com I'm going to close this discussion as we're focused on providing these types of features in v15 and beyond, as noted in the other discussion: #13734 |
Beta Was this translation helpful? Give feedback.
-
In large-scale Umbraco sites running on .NET Core (from version 9 onwards), managing cache for vast amounts of content can become resource-intensive. To address this, I propose implementing an archive system for older content, which can help significantly reduce memory and CPU usage.
The Idea:
Archive older content: Move content older than 3-4 months into a dedicated table or storage outside of the primary content cache. This would drastically reduce the number of items that need to be cached, freeing up RAM and lowering CPU load, which would also lower operational costs.
SEO and content access: Archiving content doesn’t mean losing SEO benefits. Archived content would still be accessible by intercepting requests through URL routing. The relevant content could be fetched using a custom controller and view, and only then loaded into the cache if needed.
Search and query management: Site search queries should be split between active content and archived content, ensuring optimized performance for both current and older content without burdening the system.
This approach allows us to balance efficient resource usage with the need to maintain a seamless user experience and SEO integrity, especially in scenarios where the volume of content is too large to cache entirely.
Would love to hear your thoughts on this approach!
Beta Was this translation helpful? Give feedback.
All reactions