From b74fc46fe2d1acaaa470a62f92345e96694427b7 Mon Sep 17 00:00:00 2001 From: ilitirit Date: Tue, 2 May 2023 21:08:10 +0200 Subject: [PATCH] Refactor caching --- .../ExpedienceRepository.cs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/Expedience.Infrastructure/ExpedienceRepository.cs b/Expedience.Infrastructure/ExpedienceRepository.cs index ebc9064..e8ada07 100644 --- a/Expedience.Infrastructure/ExpedienceRepository.cs +++ b/Expedience.Infrastructure/ExpedienceRepository.cs @@ -25,18 +25,12 @@ namespace Expedience.Infrastructure public async Task> GetDutyCompletionRecords(string expac, CancellationToken cancellationToken) { var cacheKey = $"xpd-dcr-{expac}"; - if (_memcachedClient.TryGet>(cacheKey, out var cachedValue)) - { - return cachedValue; - } - else - { - var records = await _dbContext.DutyCompletionRecords.FromSqlInterpolated($"SELECT * FROM public.get_dutycompletionrecords({expac})") - .ToListAsync(); - await _memcachedClient.AddAsync(cacheKey, records, TimeSpan.FromMinutes(10)); - - return records; - } + var cacheSeconds = 600; + var records = await _memcachedClient.GetValueOrCreateAsync(cacheKey, cacheSeconds, + async () => await _dbContext.DutyCompletionRecords.FromSqlInterpolated($"SELECT * FROM public.get_dutycompletionrecords({expac})") + .ToListAsync()); + + return records; } public void Dispose()