feat(dal): CacheService - структура + CacheMatchingStatusService
This commit is contained in:
61
PARR.DAL/Cache/Services/Base/IRedisCacheService.cs
Normal file
61
PARR.DAL/Cache/Services/Base/IRedisCacheService.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
namespace PARR.DAL.Cache.Services.Base
|
||||
{
|
||||
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>
|
||||
Task<T?> GetCachedDataAsync<T>(string key);
|
||||
|
||||
/// <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>
|
||||
/// <returns></returns>
|
||||
Task SetCachedDataAsync<T>(string key, T data, TimeSpan cacheDuration);
|
||||
|
||||
/// <summary>
|
||||
/// Удалить кэшированные данные
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
void DeleteCachedData(string key);
|
||||
|
||||
/// <summary>
|
||||
/// Удалить кэшированные данные асинхронно
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
Task DeleteCachedDataAsync(string key);
|
||||
|
||||
/// <summary>
|
||||
/// Сгенерировать уникальный ключ
|
||||
/// </summary>
|
||||
/// <param name="keyParts"></param>
|
||||
/// <param name="isUseHash"></param>
|
||||
/// <returns></returns>
|
||||
string GetKey(string[] keyParts, bool isUseHash = false);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user