62 lines
2.1 KiB
C#
62 lines
2.1 KiB
C#
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);
|
|
}
|
|
}
|