live-forum/server/webapi/LiveForum/LiveForum.IService/Others/ICacheClearService.cs
2026-03-24 11:27:37 +08:00

49 lines
1.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}