Cache strategy for channels in ChannelService
See original GitHub issueIs your feature request related to a problem? Please describe. The ChannelService as-is holds an array of all channels in memory, which is updated whenever a channel is created/updated. This makes the vendure instance stateful and can lead to invalid/out-of-sync data if a project uses multiple vendure instances.
Describe the solution you’d like
Querying from the database on every call would solve this, but since the data is used on every call (specifically getChannelFromToken
) this would become a bottleneck.
Querying the session data presented a similar bottleneck, so I think we need a similar solution.
Similar to the SessionCacheStrategy
config, I’d propose a ChannelCacheStrategy
Issue Analytics
- State:
- Created 2 years ago
- Comments:19 (19 by maintainers)
Top Results From Across the Web
Service Worker Caching Strategies Based on Request Types
Instead of purely relying on URL-based pattern matching, also consider leveraging the lesser-known — but super useful — Request.destination ...
Read more >Mastering DynaCache in WebSphere Commerce
adjusting the caching strategy to better suit the data request models and ... be queued within Transport Channel service is the sum of:...
Read more >Cache Channel Service - Tridion 2011 SP1 - Stack Overflow
On our single-server dev environment I've enabled the Object Cache and the RemoteSynchronization with default settings. When I published a ...
Read more >SessionCacheStrategy | Vendure docs
This strategy defines how sessions get cached. Since most requests will need the Session object for permissions data, it can become a ...
Read more >Tibco JMS Queue configuration for Cache Channel Service
tridion.cache.JMSCacheChannelConnector" Topic="Tridion" Strategy="AsyncJMS11MDB"><JndiContext> <Property Name="java.naming.factory.initial" ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I think there is nothing wrong with a lot of config options, as long as there are good default values. It gives options to the advanced users without getting in the way of new users.
You might have overlooked
ShippingMethodService.activeShippingMethods