Files
parr_api/PARR.DAL/Cache/Services/Base/IRedisCacheService.cs

62 lines
2.1 KiB
C#
Raw Normal View History

namespace PARR.DAL.Cache.Services.Base
2023-11-30 16:18:14 +10:00
{
public interface IRedisCacheService
{
/// <summary>
/// Получить кэшированные данные
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
2023-11-30 16:18:14 +10:00
T? GetCachedData<T>(string key);
/// <summary>
/// Получить кэшированные данные асинхронно
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
2023-11-30 16:18:14 +10:00
Task<T?> GetCachedDataAsync<T>(string key);
/// <summary>
/// Добавить в кэш данные
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="data"></param>
/// <param name="cacheDuration"></param>
2023-11-30 16:18:14 +10:00
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>
2023-11-30 16:18:14 +10:00
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);
2023-11-30 16:18:14 +10:00
}
}