86 lines
2.7 KiB
C#
Raw Normal View History

2025-07-30 14:32:09 +08:00
using YD_XinWei.Commons.Dto.LargeScreen;
using YD_XinWei.Commons.Dto.Open;
namespace YD_XinWei.Api.Services.Interface
{
public interface ICacheService
{
/// <summary>
/// 验证缓存项是否存在
/// </summary>
/// <param name="key">缓存Key</param>
/// <returns></returns>
bool Exists(string key);
/// <summary>
/// List写入head
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
void LPush(string key, string val);
void RPush(string key, string val);
/// <summary>
/// List出队 lpop
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
object ListDequeue(string key);
/// <summary>
/// List出队 lpop
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
T ListDequeue<T>(string key) where T : class;
/// <summary>
/// 移除list中的数据keepIndex为保留的位置到最后一个元素如list 元素为1.2.3.....100
/// 需要移除前3个数keepindex应该为4
/// </summary>
/// <param name="key"></param>
/// <param name="keepIndex"></param>
void ListRemove(string key, int keepIndex);
/// <summary>
/// 添加缓存
/// </summary>
/// <param name="key">缓存Key</param>
/// <param name="value">缓存Value</param>
/// <param name="expiresIn">缓存时长</param>
/// <param name="isSliding">是否滑动过期(如果在过期时间内有操作,则以当前时间点延长过期时间) //new TimeSpan(0, 60, 0);</param>
/// <returns></returns>
bool AddObject(string key, object value, int expireSeconds = -1, bool isSliding = false);
bool Add(string key, string value, int expireSeconds = -1, bool isSliding = false);
/// <summary>
/// 删除缓存
/// </summary>
/// <param name="key">缓存Key</param>
/// <returns></returns>
bool Remove(string key);
/// <summary>
/// 批量删除缓存
/// </summary>
/// <param name="key">缓存Key集合</param>
/// <returns></returns>
void RemoveAll(IEnumerable<string> keys);
/// <summary>
/// 获取缓存
/// </summary>
/// <param name="key">缓存Key</param>
/// <returns></returns>
T Get<T>(string key) where T : class;
/// <summary>
/// 获取缓存
/// </summary>
/// <param name="key">缓存Key</param>
/// <returns></returns>
string Get(string key);
}
}