mirror of
https://github.com/KevinWG/OSS.Common.git
synced 2026-10-22 01:15:48 +08:00
55 lines
1.9 KiB
C#
55 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace OS.Common.Modules.CacheModule
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public interface ICache
|
|
{
|
|
/// <summary>
|
|
/// 添加缓存,已存在不更新
|
|
/// </summary>
|
|
/// <typeparam name="T">添加缓存对象类型</typeparam>
|
|
/// <param name="key">添加对象的key</param>
|
|
/// <param name="obj">值</param>
|
|
/// <param name="slidingExpiration">相对过期的TimeSpan 如果使用固定时间 =TimeSpan.Zero</param>
|
|
/// <param name="absoluteExpiration"> 绝对过期时间 </param>
|
|
/// <returns>是否添加成功</returns>
|
|
bool Add<T>(string key, T obj, TimeSpan slidingExpiration, DateTime? absoluteExpiration = null);
|
|
|
|
/// <summary>
|
|
/// 添加缓存,如果存在则更新
|
|
/// </summary>
|
|
/// <typeparam name="T">添加缓存对象类型</typeparam>
|
|
/// <param name="key">添加对象的key</param>
|
|
/// <param name="obj">值</param>
|
|
/// <param name="slidingExpiration">相对过期的TimeSpan 如果使用固定时间 =TimeSpan.Zero</param>
|
|
/// <param name="absoluteExpiration"> 绝对过期时间 </param>
|
|
/// <returns>是否添加成功</returns>
|
|
bool AddOrUpdate<T>(string key, T obj, TimeSpan slidingExpiration, DateTime? absoluteExpiration = null);
|
|
|
|
/// <summary>
|
|
/// 获取缓存对象
|
|
/// </summary>
|
|
/// <typeparam name="T">获取缓存对象类型</typeparam>
|
|
/// <param name="key">key</param>
|
|
/// <returns>获取指定key对应的值 </returns>
|
|
T Get<T>(string key);
|
|
|
|
/// <summary>
|
|
/// 移除缓存对象
|
|
/// </summary>
|
|
/// <param name="key"></param>
|
|
/// <returns>是否成功</returns>
|
|
bool Remove(string key);
|
|
|
|
/// <summary>
|
|
/// 判断是否存在缓存对象
|
|
/// </summary>
|
|
/// <param name="key"> key值 </param>
|
|
/// <returns></returns>
|
|
bool Contains(string key);
|
|
}
|
|
} |