Files
YunTongJackYunTask/Reportapi/MyCode.Project.Infrastructure/Cache/IMyCodeCacheService.cs

99 lines
2.6 KiB
C#
Raw Normal View History

2025-07-04 09:50:02 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Infrastructure.Cache
{
public interface IMyCodeCacheService
{
/// <summary>
/// 根据key得到缓存值
/// </summary>
/// <param name="key">缓存key</param>
/// <returns></returns>
object Get(string key);
/// <summary>
/// 根据缓存Key返回一个具体的对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
T Get<T>(string key);
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="key">缓存Key</param>
/// <param name="cache_object">缓存对象</param>
/// <param name="expiration">过期时间</param>
void Set(string key, object cache_object, TimeSpan? expiration=null);
/// <summary>
/// 根据key删除一个缓存
/// </summary>
/// <param name="key"></param>
void Delete(string key);
/// <summary>
/// 判断是否存在缓存
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
bool Exists(string key);
/// <summary>
/// 放入队列
/// </summary>
/// <param name="key"></param>
/// <param name="data"></param>
void Push(string key, object data);
/// <summary>
/// Popup(获取第一条数据,并删除)
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
object Popup(string key);
/// <summary>
/// 自增1返回自增后的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
long Incr(string key,long value = 1);
/// <summary>
/// 初始化原子性的功能
/// </summary>
/// <param name="key"></param>
/// <param name="data"></param>
void SetIncr(string key, long data);
/// <summary>
/// 得到Incr值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
object GetIncr(string key);
/// <summary>
/// 得到新的id
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
long GetNewId();
/// <summary>
/// 返回列表长度
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
long ListLen(string key);
}
}