49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
using System.Collections.Generic;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace LiveForum.IService.Others
|
||
{
|
||
/// <summary>
|
||
/// 缓存清除服务接口
|
||
/// </summary>
|
||
public interface ICacheClearService
|
||
{
|
||
/// <summary>
|
||
/// 清除所有缓存(支持模式匹配,如 cache:api:Config:*)
|
||
/// </summary>
|
||
/// <param name="pattern">缓存Key模式,支持通配符(*),为空则清除所有cache:api:开头的缓存</param>
|
||
/// <returns>是否清除成功</returns>
|
||
Task<bool> ClearAllCacheAsync(string pattern = null);
|
||
|
||
/// <summary>
|
||
/// 清除指定Controller的所有缓存
|
||
/// </summary>
|
||
/// <param name="controller">Controller名称(不含Controller后缀,如 "Config")</param>
|
||
/// <returns>是否清除成功</returns>
|
||
Task<bool> ClearCacheByControllerAsync(string controller);
|
||
|
||
/// <summary>
|
||
/// 清除指定Action的缓存
|
||
/// </summary>
|
||
/// <param name="controller">Controller名称(不含Controller后缀,如 "Config")</param>
|
||
/// <param name="action">Action名称(如 "GetAppConfig")</param>
|
||
/// <returns>是否清除成功</returns>
|
||
Task<bool> ClearCacheByActionAsync(string controller, string action);
|
||
|
||
/// <summary>
|
||
/// 清除指定Key的缓存(精确匹配)
|
||
/// </summary>
|
||
/// <param name="cacheKey">缓存Key</param>
|
||
/// <returns>是否清除成功</returns>
|
||
Task<bool> ClearCacheByKeyAsync(string cacheKey);
|
||
|
||
/// <summary>
|
||
/// 获取匹配模式的缓存Key列表(用于查询)
|
||
/// </summary>
|
||
/// <param name="pattern">缓存Key模式,支持通配符(*)</param>
|
||
/// <returns>匹配的缓存Key列表</returns>
|
||
Task<List<string>> GetCacheKeysAsync(string pattern);
|
||
}
|
||
}
|
||
|