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

[FEATURE] EFCoreSecondLevelCacheInterceptor Integration? #353

Open
bbehrens opened this issue Jan 6, 2025 · 6 comments
Open

[FEATURE] EFCoreSecondLevelCacheInterceptor Integration? #353

bbehrens opened this issue Jan 6, 2025 · 6 comments
Assignees

Comments

@bbehrens
Copy link

bbehrens commented Jan 6, 2025

Problem

I'm currently using EFCoreSecondLevelCacheInterceptor and EasyCaching. I'm very interested in looking at FusionCache as an alternative to EasyCaching. There's already a ticket in that library for supporting FusionCache. I also brought up supporting it in a related ticket.

Solution

In theory, in order to integrate with EFCoreSecondLevelCacheInterceptor I just need to implement IEFCacheServiceProvider.

Alternatives

Additional context

In writing this ticket, I'm seeking to learn if there's a reason the two libraries wouldn't play well together or require some extensive work to do so. It seems like a pretty natural thing to support for this library and if you were interested in doing so, wanted to offer to contribute work for the integration if you felt there would be value in having general support for this library.

@jodydonetti jodydonetti self-assigned this Jan 6, 2025
@jodydonetti
Copy link
Collaborator

Hi @bbehrens

I'm currently using EFCoreSecondLevelCacheInterceptor and EasyCaching. I'm very interested in looking at FusionCache as an alternative to EasyCaching.

I know about the EFCoreSecondLevelCacheInterceptor project, it has been on my radar for some time: the current limitation as you may have already guessed is the need to support tagging + clear.

Good news though, FusionCache v2 will come out soon and it will include both Tagging and Clear support, so after v2 is out I already have on my to-do list the EFCoreSecondLevelCacheInterceptor provider for FusionCache.

There's already a ticket in that library for supporting FusionCache. I also brought up supporting it in a related ticket.

I didn't know about those issues, I'm ubscribed now to look out for some news there.

In theory, in order to integrate with EFCoreSecondLevelCacheInterceptor I just need to implement IEFCacheServiceProvider.

Yup, that was the idea back when I looked into it!

Out of curiosity: how are you finding yourself with EFCoreSecondLevelCacheInterceptor ? Is it working well? Any surprise down the road? Anything to know in advance?

Thanks!

@bbehrens
Copy link
Author

bbehrens commented Jan 6, 2025

@jodydonetti Thanks for the quick reply and that's all awesome news! I asked about FusionCache support a few days ago. I rolled by the EFCoreSecondLevelCache page today and it's received an overhaul and official support for FusionCache via a nuget!

Might recommend you peruse the code and see if there's anything to look at the author might want to tweak?

@jodydonetti
Copy link
Collaborator

Oh, that's awesome to know!
I see they are already using the V2 preview with tagging support, cool!

Will take a look at it soon and will let you know, thanks!

@bbehrens
Copy link
Author

bbehrens commented Jan 7, 2025

@jodydonetti Need to take a moment to directly answer your question about EFCoreSecondLevelCacheInterceptor. It was:

  1. Easy to get up and running
  2. Does what it says it does
  3. I haven't had an issue with the library itself. I've had issues come up with how I constructed objects but that had nothing to do with the library itself.

I reached out over the weekend and inquired about supporting an additional library. The author was nice to interact with, the thing I wanted was in the codebase on Monday. Along with the only real beef I had with the library to begin with which was that the cache support wasn't split out into nugets.

This is one guy, supporting a library companies run their businesses on that supports every realistic version of .net framework.
He's taken the time to write helpful documentation and from what I can tell everything works.

With all of that said - My experience is limited to .net 8 & EasyCaching. I have used InMemory, Redis, & Hybrid w RedisBus. That has all worked transparently. I can't say there aren't nuanced things with the other caches it supports.

@jodydonetti
Copy link
Collaborator

Hi @bbehrens

@jodydonetti Need to take a moment to directly answer your question about EFCoreSecondLevelCacheInterceptor. It was:

  1. Easy to get up and running

  2. Does what it says it does

  3. I haven't had an issue with the library itself. I've had issues come up with how I constructed objects but that had nothing to do with the library itself.

Good, awesome to know!

I reached out over the weekend and inquired about supporting an additional library. The author was nice to interact with, the thing I wanted was in the codebase on Monday. Along with the only real beef I had with the library to begin with which was that the cache support wasn't split out into nugets.

I'm reading the recent updates over that repo, a lot of good stuff.

This is one guy, supporting a library companies run their businesses on that supports every realistic version of .net framework.

Eh eh, I'm one random guy too, so I know that feel 😅
Much respect for @VahidN

He's taken the time to write helpful documentation and from what I can tell everything works.

With all of that said - My experience is limited to .net 8 & EasyCaching. I have used InMemory, Redis, & Hybrid w RedisBus. That has all worked transparently. I can't say there aren't nuanced things with the other caches it supports.

Thanks for sharing your experience, much appreciated!

@bbehrens
Copy link
Author

bbehrens commented Jan 7, 2025

@jodydonetti

Eh eh, I'm one random guy too, so I know that feel 😅
Much respect for @VahidN

Indeed. Same to you sir. There's a ton of love that goes into OSS software. Folks like you and @VahidN are a major reason for why the .NET ecosystem is where it is today. Kudos to you both for your patience and demeanor in interactions with the community as well. (Beyond the kudos for all the elbow grease you've put into a library you've made freely available, documented and likely taken the time to enhance to make generally applicable to all cases rather than just your own). I bet it is hard to respond in a way that's positive sometimes

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