Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question : How are cache invalidations handled? #32

Closed
MartyBJones opened this issue Nov 5, 2021 · 10 comments
Closed

Question : How are cache invalidations handled? #32

MartyBJones opened this issue Nov 5, 2021 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@MartyBJones
Copy link

Say I have a web application running on 4 servers that uses FusionCache with a Redis secondary cache and I remove a cache entry from one of the web applications. It looks like the local FusionCache will be removed and the Redis secondary cache will have it's entry removed but how will the other 3 servers know to clear their FusionCache entries?

@jodydonetti
Copy link
Collaborator

Hi @MartyBJones , thanks for considering FusionCache.

The scenario you are talking about is an example of why I'm working on adding a backplane (see #11), which I hope will be available soon.
Btw you caught me working on it right at this very moment 😅

Another approach which would give similar results is to have a very low memory cache duration along with a higher distributed cache duration (like requested in #30) to highly reduce the differences between the memory and the distributed cache.

@MartyBJones
Copy link
Author

MartyBJones commented Nov 6, 2021 via email

@jodydonetti jodydonetti self-assigned this Nov 25, 2021
@jodydonetti jodydonetti added the enhancement New feature or request label Nov 25, 2021
@jodydonetti
Copy link
Collaborator

jodydonetti commented Jan 27, 2022

Hi @MartyBJones , I'm happy to say that I've finally been able to complete the design and implementation of the backplane feature.

Please take a look here, try it out and let me know what you think so I can move forward with the final version.

Thanks 🙏

📦 It's a pre-release!

Note that the Nuget package is marked as pre-release so please be sure to enable the related filter otherwise you would not see them:

image

@MartyBJones
Copy link
Author

MartyBJones commented Jan 29, 2022 via email

@jodydonetti
Copy link
Collaborator

Meanwhile I published an (hopefully) even better alpha2 release.

@jodydonetti
Copy link
Collaborator

Hi all, just wanted to update you on the next version: I released right now the BETA2 for the next big release, which includes among other small things a big fix for the DI setup part.

This will probably be the last release before the official one.

@jodydonetti
Copy link
Collaborator

Hi all, yesterday I released the BETA 3.

Unless some big problem comes up, this will be the very last release before the official one, which will be in the next few days 🎉

@jodydonetti
Copy link
Collaborator

Closing this since with v0.9.0 the backplane is an official feature, with official docs and more.

@MartyBJones
Copy link
Author

MartyBJones commented Oct 11, 2022 via email

@jodydonetti
Copy link
Collaborator

Hi @MartyBJones , there are no intrinsic limits on how many notifications it can handle, it wholly depends on the underlying pub/sub mechanism used.

For example using the common Redis implementation on, say, an Azure Redis Cache instance will be subjected to the limits of that infrastructure and the Redis internal limits themselves (some of which you can see here).

In general I haven't found any particular bottlenecks or problems in general regarding the pub/sub part (which is what is used in the backplane), but I don't have precise number yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants