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()