文件内容 ICacheHandler.cs 1 KB 1371 字符

namespace PasteApeart.Handler.cache
{
    /// <summary>
    /// 
    /// </summary>
    public interface ICacheHandler
    {
        /// <summary>
        /// 读取缓存,不抛出异常
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <typeparam name="TDto"></typeparam>
        /// <param name="id"></param>
        /// <param name="expireSeconds"></param>
        /// <returns></returns>
        Task<TDto> DtoAsync<TEntity, TDto>(object id, int expireSeconds = 3600) where TEntity : class;

        /// <summary>
        /// 读取缓存 不存在则会抛出异常
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <typeparam name="TDto"></typeparam>
        /// <param name="id"></param>
        /// <param name="expireSeconds"></param>
        /// <returns></returns>
        Task<TDto> DtoAsyncThrowException<TEntity, TDto>(object id, int expireSeconds = 3600) where TEntity : class;

        /// <summary>
        /// 移除某一个对象的缓存
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<bool> RemoveEntityAsync<TEntity>(object id);

        /// <summary>
        /// 获取缓存的Key头
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <returns></returns>
        string GetCachePrefix<TEntity>();
    }
}
​ ​