using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Infrastructure.Cache
{
public interface ICache
{
///
/// 加入缓存项
///
/// 缓存项标识
/// 缓存项
/// 缓存失效时间
void Add(string key, object value, TimeSpan timeSpan);
///
/// 加入依赖物理文件的缓存项
///
/// 缓存项标识
/// 缓存项
/// 依赖的文件全路径
void AddWithFileDependency(string key, object value, string fullFileNameOfFileDependency);
///
/// 获取缓存项
///
///
///
object Get(string cacheKey);
T Get(string cacheKey) where T : class;
void Remove(string cacheKey);
///
/// 如果不存在缓存项则添加,否则更新(相对过期)
///
/// 缓存项标识
/// 缓存项
/// 缓存失效时间
void Set(string key, object value, TimeSpan timeSpan);
///
/// 设置绝对过期时间
///
/// 缓存项标识
/// 缓存项
/// 缓存失效时间
void SetAbsoluteExpiration(string key, object value, TimeSpan timeSpan);
}
}