feat(core, infrastructure): IRedisCacheService - данные теперь можно архивировать
This commit is contained in:
@@ -5,30 +5,31 @@
|
||||
/// </summary>
|
||||
public interface IRedisCacheService
|
||||
{
|
||||
/// <summary>
|
||||
/// Получить кэшированные данные
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
T? GetCachedData<T>(string key);
|
||||
///// <summary>
|
||||
///// Получить кэшированные данные
|
||||
///// </summary>
|
||||
///// <typeparam name="T"></typeparam>
|
||||
///// <param name="key"></param>
|
||||
///// <returns></returns>
|
||||
//T? GetCachedData<T>(string key);
|
||||
|
||||
/// <summary>
|
||||
/// Получить кэшированные данные асинхронно
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="useCompression">Разрешить сжатие данных</param>
|
||||
/// <returns></returns>
|
||||
Task<T?> GetCachedDataAsync<T>(string key);
|
||||
Task<T?> GetCachedDataAsync<T>(string key, bool useCompression = false);
|
||||
|
||||
/// <summary>
|
||||
/// Добавить в кэш данные
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <param name="cacheDuration"></param>
|
||||
void SetCachedData<T>(string key, T data, TimeSpan cacheDuration);
|
||||
///// <summary>
|
||||
///// Добавить в кэш данные
|
||||
///// </summary>
|
||||
///// <typeparam name="T"></typeparam>
|
||||
///// <param name="key"></param>
|
||||
///// <param name="data"></param>
|
||||
///// <param name="cacheDuration"></param>
|
||||
//void SetCachedData<T>(string key, T data, TimeSpan cacheDuration);
|
||||
|
||||
/// <summary>
|
||||
/// Добавить в кэш данные асинхронно
|
||||
@@ -38,7 +39,7 @@
|
||||
/// <param name="data"></param>
|
||||
/// <param name="cacheDuration"></param>
|
||||
/// <returns></returns>
|
||||
Task SetCachedDataAsync<T>(string key, T data, TimeSpan cacheDuration);
|
||||
Task SetCachedDataAsync<T>(string key, T data, TimeSpan cacheDuration, bool useCompression = false);
|
||||
|
||||
/// <summary>
|
||||
/// Удалить кэшированные данные
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using NodaTime;
|
||||
using PARR.Core.Common.Interfaces;
|
||||
using PARR.Core.Repositories.Interfaces;
|
||||
using PARR.Core.Services.Shortcodes;
|
||||
@@ -308,7 +307,7 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
{
|
||||
var key = GetReportCacheKey(reportType, dateStart, durationDays, offset, filterParam);
|
||||
|
||||
return await redisCacheService.GetCachedDataAsync<WorkloadReport>(key);
|
||||
return await redisCacheService.GetCachedDataAsync<WorkloadReport>(key, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -325,7 +324,7 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
public async Task SetWorkloadReport(WorkloadReport report, WorkloadReportType reportType, DateOnly dateStart, int durationDays, TimeSpan offset, string? filterParam)
|
||||
{
|
||||
var key = GetReportCacheKey(reportType, dateStart, durationDays, offset, filterParam);
|
||||
await redisCacheService.SetCachedDataAsync(key, report, cacheWorkloadTtl);
|
||||
await redisCacheService.SetCachedDataAsync(key, report, cacheWorkloadTtl, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -377,11 +376,5 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
|
||||
return keyStr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user