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

Multilevel invalidation #179

Closed
sindrip opened this issue Dec 15, 2022 · 2 comments
Closed

Multilevel invalidation #179

sindrip opened this issue Dec 15, 2022 · 2 comments

Comments

@sindrip
Copy link

sindrip commented Dec 15, 2022

I think my issue is related to #50

I have a specific use-case, where I would like to use a MultiLevel cache, where L1 is Local and L2 is Replicated, using no external datastore.

As a simple example I have 2 nodes in a cluster

  • I put a key on Node 1 and through the MultiLevel cache, it gets written to L2 and is replicated to to L2 of Node 2.
  • I get the key on Node 2 and subsequently update it
  • I get the key on Node 1, it is now stale in L1 but fresh in L2, doing get on Node 1 I only get the stale data from L1

My expectation was that the key in the L1 cache would be invalidated, when there is an inconsistency between L1 and L2, and the data in L2 is fresher. Or that I could at least somehow configure the cache to do that.

The reason for doing this, is I only care about the local data, and an update to a key on another node implies a migration (this is related to UDP). I am already using redis, but I believed I could get rid of it.

Am I correct that this use-case is not supported currently?

@cabol
Copy link
Owner

cabol commented May 13, 2023

Hey!

Perhaps you may want to try the new adapter NebulexLocalMultilevelAdapter, which handles invalidation.

@cabol
Copy link
Owner

cabol commented May 13, 2023

Closing this issue because it is related to issue #50. Besides, there is an adapter that handles the multilevel invalidation already NebulexLocalMultilevelAdapter.

@cabol cabol closed this as completed May 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants