102 lines
2.8 KiB
C#
Raw Normal View History

2025-04-21 14:10:27 +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>
/// 设置缓存有效时长(仅redis缓存有用,系统缓存无执行效果)
/// </summary>
/// <param name="key"></param>
/// <param name="expiry"></param>
void KeyExpire(string key, TimeSpan? expiry);
/// <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>
/// <param name="timeSpan">有效时间</param>
void Push(string key, object data, TimeSpan? timeSpan = null);
/// <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);
/// <summary>
/// 递减1返回递减后的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
long Decr(string key);
/// <summary>
/// 设置一个整型缓存
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
void SetIncr(string key, int value);
}
}