ICacheService.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace TEAMModelOS.SDK.Module.Cache.Interfaces
  5. {
  6. /// <summary>
  7. /// 缓存接口
  8. /// </summary>
  9. public interface ICacheService
  10. {
  11. /// <summary>
  12. /// 是否存在此缓存
  13. /// </summary>
  14. /// <param name="key"></param>
  15. /// <returns></returns>
  16. bool Exists(string key);
  17. /// <summary>
  18.         /// 取得缓存数据
  19.         /// </summary>
  20.         /// <typeparam name="T"></typeparam>
  21.         /// <param name="key"></param>
  22.         /// <returns></returns>
  23. T GetCache<T>(string key) where T : class;
  24. /// <summary>
  25.         /// 设置缓存
  26.         /// </summary>
  27.         /// <param name="key"></param>
  28.         /// <param name="value"></param>
  29. void SetCache(string key, object value);
  30. /// <summary>
  31.         /// 设置缓存,绝对过期
  32.         /// </summary>
  33.         /// <param name="key"></param>
  34.         /// <param name="value"></param>
  35.         /// <param name="expirationMinute">间隔分钟</param>
  36.         /// MemoryCacheService.Default.SetCache("test", "RedisCache works!", 30);
  37. void SetCache(string key, object value, double expirationMinute);
  38. /// <summary>
  39.         /// 设置缓存,绝对过期
  40.         /// </summary>
  41.         /// <param name="key"></param>
  42.         /// <param name="value"></param>
  43.         /// <param name="expirationTime">DateTimeOffset 结束时间</param>
  44.         /// MemoryCacheService.Default.SetCache("test", "RedisCache works!", DateTimeOffset.Now.AddSeconds(30));
  45. void SetCache(string key, object value, DateTimeOffset expirationTime);
  46. /// <summary>
  47.         /// 设置缓存,相对过期时间
  48.         /// </summary>
  49.         /// <param name="key"></param>
  50.         /// <param name="value"></param>
  51.         /// <param name="t"></param>
  52.         /// MemoryCacheService.Default.SetCache("test", "MemoryCache works!",TimeSpan.FromSeconds(30));
  53. void SetSlidingCache(string key, object value, TimeSpan t);
  54. /// <summary>
  55.         /// 移除缓存
  56.         /// </summary>
  57.         /// <param name="key"></param>
  58. void RemoveCache(string key);
  59. /// <summary>
  60.         /// 释放
  61.         /// </summary>
  62. void Dispose();
  63. }
  64. }