CacheTower icon indicating copy to clipboard operation
CacheTower copied to clipboard

Add synchronous methods

Open davidjamesb opened this issue 3 years ago • 1 comments

What problem does the feature solve?

If we add synchronous methods Get/GetOrSet, etc it allows CacheTower functionality to be used outside of asynchronous contexts.

How would you use/interact with the feature? (if applicable)

Exactly the same as the async versions - just synchronously :) Other common implementations E.g. IDistributedCache have both synchronous and asynchronous flavors of methods.

Notes

I wanted to add CacheTower to my stack and for starters - use it for caching expression trees. However, this is all synchronous work - so I went with IMemoryCache/IDistributedCache instead for now.

davidjamesb avatar Dec 23 '21 10:12 davidjamesb

Hey @DJBMASTER - thanks for raising the issue!

While I do understand the difficulty as async-over-sync is extremely problematic, supporting synchronous paths for Cache Tower would practically double the amount of code across the project and the maintenance overhead along with it. Every cache layer would need to support it, every extension too.

I'm not saying I won't support synchronous methods in the future but currently it isn't on my roadmap.

Turnerj avatar Dec 27 '21 13:12 Turnerj