-
Notifications
You must be signed in to change notification settings - Fork 237
⭐ [Enhancement]: Add Level 2 Caching #2543
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
Comments
Hi team, FusionCache creator here: awesome feature! I have a couple of observations and questions right now, since I'm not yet familiar with the codebase yet and don't know 100% of the product roadmap or supported scenarios. Runtime config
|
{
"runtime": {
"cache": {
...
"level-2": {
...
"backplane": { // New Section
"enabled": <true> (default) | <false>,
"channel": <string; default: "dab-cache-channel">
}
}
}
}
}
Stole this from a recent tweet. Re:
|
Hi all, I'm making progress on this, and will soon make a draft PR we can discuss about. One thing I was wondering (thanks to a recent issue on the FusionCache repo) is if we need to support connecting to an Azure Redis instance via a Service Principal (see here). On one hand the mantra is "let's start with the basics", on the other hand it's Azure Redis, so I'm asking. Maybe it's not even something so common, I don't have usage stats. Will update soon on the rest. |
Draft PR created here. |
🔔 UPDATE 2025-03-30 (Updated 2025-04-03 after our chat) Hi all, after our recent talk and while getting to the bottom of this I had some time to reflect on the overall experience for the user, so I added a couple of open points here. Meanwhile I converted the PR back to draft for now. L2 Enabled By DefaultI noticed that in the proposal Therefore, the default should be The user can enable caching via "level-2": {
"enabled": true,
"connection-string": "..."
} Note STATUS: confirmed
BackplaneSince the best user experience would be to have everything "just works", we also established (correct me if I'm wrong) that the backplane will not have any specific configuration for now: since "redis" is the only supported provider, by enabling L2 caching we'll also automatically have the backplane functionality too, so everything "just works" (good devex). Regarding the channel name, I've found a solution that I think it's simpler and works well: see "distinguisher" below. Note STATUS: confirmed
|
Configuration Change
Original
Runtime
Entity
Proposed
Runtime
Summary
enabled
true
provider
"redis"
connection-string
ttl-seconds
60
Entity
Summary
level
one
,two
)one
Ancillary requirements
dab configure --runtime.cache.level2.enabled
dab configure --runtime.cache.level2.provider
dab configure --runtime.cache.level2.connection-string
dab configure --runtime.cache.level2.ttl-seconds
dab validate
(rules)The text was updated successfully, but these errors were encountered: