Skip to Main Content
Customer Feedback

We love feedback from you on our products and the problems in your daily work that you would like us to solve. Please describe the challenge you're encountering and your desired outcome. Be as detailed as possible.

For technical issues or bugs please head to Support or our Developer Community. You can assign up to 20 votes in total. Thank you for your feedback.

Status explanation: 'Future Consideration' = Continuing to collect further feedback, not planned at this time. 'Investigating' = Prioritized for deeper customer and feasibility investigations ahead of planning development.

Categories Technical
Created by Guest
Created on Sep 10, 2024

New cache architecture for the platform

Currently there exists a large number of different caches used in CMS and all its addons, Optimizely codebase primarily uses ISynchronizedObjectInstanceCache (implemented by RemoteCacheSynchronization) but there are a lot of other caching mechanisms across the platform and its addons.

The current implementation is not a good fit for high traffic sites that scales out to multiple instances as the event system, for example using the azure service bus event provider created by Optimizely, used for cache invalidation isn't fast enough to keep up, leading to numerous issues with stale data, publishing of content that doesn't work, order exceptions when working with IOrderGroup from Commerce etc. The only fix seems to be a load balancer setup that uses sticky sessions which is not recommended by any cloud provider.


To resolve this Optimizely should switch to something that is built into .net (for example IDistributedCache) and that supports the possibility of using a distributed cache backend like Garnet or Redis to resolve these issues. The absolutely best option would be to use the new HybridCache available with .net9 which is the best of both worlds, fast in memory cache that can be optionally backed by a distributed cache.


This I believe would make Optimizely scale without issues in a stateless web world.