From 92be1b129a5001da3d5c02386e1fcfb0595d4755 Mon Sep 17 00:00:00 2001 From: Jim Washbrook Date: Wed, 15 Jan 2025 13:06:05 +0000 Subject: [PATCH 1/2] refactor(redis): Only cache unique dependencies in Redis cache --- .../RedisDependencyManager.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Dfe.PlanTech.Infrastructure.Redis/RedisDependencyManager.cs b/src/Dfe.PlanTech.Infrastructure.Redis/RedisDependencyManager.cs index e360484b4..3e36afa5b 100644 --- a/src/Dfe.PlanTech.Infrastructure.Redis/RedisDependencyManager.cs +++ b/src/Dfe.PlanTech.Infrastructure.Redis/RedisDependencyManager.cs @@ -27,12 +27,16 @@ public Task RegisterDependenciesAsync(IDatabase database, string key, T value private async Task GetAndSetDependencies(IDatabase database, string key, T value) { var batch = database.CreateBatch(); - var tasks = GetDependencies(value).Select(dependency => batch.SetAddAsync(GetDependencyKey(dependency), key, CommandFlags.FireAndForget)).ToArray(); + var tasks = GetDependencies(value).Distinct() + .Select(dependency => batch.SetAddAsync(GetDependencyKey(dependency), key, CommandFlags.FireAndForget)) + .ToArray(); + if (tasks.Length == 0) { // If the value has no dependencies (is empty) it should be invalidated when new content comes in tasks = tasks.Append(batch.SetAddAsync(EmptyCollectionDependencyKey, key, CommandFlags.FireAndForget)).ToArray(); } + batch.Execute(); await Task.WhenAll(tasks); } From 0cd0abaf3cd59c92bee987c2d0cc6f03c09c9254 Mon Sep 17 00:00:00 2001 From: Drew MORGAN Date: Fri, 17 Jan 2025 12:28:20 +0000 Subject: [PATCH 2/2] Whitespace change --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 30ada1a5a..11b005069 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Web application to help schools plan a technology roadmap ## Requirements -- .Net 8.0 and any supported IDE for DEV running. +- .Net 8.0 and any supported IDE for DEV running. ## Running Locally