ICacheStrategy.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. namespace CB.Cache
  3. {
  4. /// <summary>
  5. /// 公共缓存策略接口
  6. /// </summary>
  7. public interface ICacheStrategy
  8. {
  9. /// <summary>
  10. /// 添加指定ID的对象
  11. /// </summary>
  12. /// <param name="objId">缓存键</param>
  13. /// <param name="o">缓存对象</param>
  14. void AddObject(string objId, object o);
  15. /// <summary>
  16. /// 添加指定ID的对象
  17. /// </summary>
  18. /// <param name="objId">缓存键</param>
  19. /// <param name="o">缓存对象</param>
  20. /// <param name="expire">到期时间,单位:秒</param>
  21. void AddObject(string objId, object o, int expire);
  22. /// <summary>
  23. /// 添加指定ID的对象(关联指定文件组)
  24. /// </summary>
  25. /// <param name="objId">缓存键</param>
  26. /// <param name="o">缓存对象</param>
  27. /// <param name="files">关联的文件名</param>
  28. void AddObjectWithFileChange(string objId, object o, string[] files);
  29. /// <summary>
  30. /// 添加指定ID的对象(关联指定键值组)
  31. /// </summary>
  32. /// <param name="objId">缓存键</param>
  33. /// <param name="o">缓存对象</param>
  34. /// <param name="dependKey">依赖键</param>
  35. void AddObjectWithDepend(string objId, object o, string[] dependKey);
  36. /// <summary>
  37. /// 移除指定ID的对象
  38. /// </summary>
  39. /// <param name="objId">缓存键</param>
  40. void RemoveObject(string objId);
  41. /// <summary>
  42. /// 返回指定ID的对象
  43. /// </summary>
  44. /// <param name="objId">缓存键</param>
  45. /// <returns></returns>
  46. object GetObject(string objId);
  47. /// <summary>
  48. /// 到期时间,单位:秒
  49. /// </summary>
  50. int TimeOut { set; get; }
  51. /// <summary>
  52. /// 清空的有缓存数据
  53. /// </summary>
  54. void FlushAll();
  55. }
  56. }