ICache.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace KC.Cache
  7. {
  8. /// <summary>
  9. /// 缓存基础接口
  10. /// </summary>
  11. public interface ICache
  12. {
  13. /// <summary>
  14. /// 写入缓存,单体
  15. /// </summary>
  16. /// <param name="value">对象数据</param>
  17. /// <param name="cacheKey">键</param>
  18. /// <param name="seconds">几秒过期</param>
  19. void WriteCache<T>(string cacheKey, T value, int seconds = 0) where T : class;
  20. /// <summary>
  21. /// 读取缓存,单体
  22. /// </summary>
  23. /// <param name="cacheKey">键</param>
  24. /// <returns></returns>
  25. T GetCache<T>(string cacheKey) where T : class;
  26. /// <summary>
  27. /// 获取所有key
  28. /// </summary>
  29. /// <returns></returns>
  30. List<string> GetAllKeys();
  31. /// <summary>
  32. /// 确定当前Key是否过期
  33. /// </summary>
  34. /// <param name="key"></param>
  35. /// <returns></returns>
  36. bool HasExpire(string key);
  37. /// <summary>
  38. /// 移除指定数据缓存
  39. /// </summary>
  40. /// <param name="cacheKey">键</param>
  41. void RemoveCache(string key);
  42. /// <summary>
  43. /// 批量删除数据缓存
  44. /// </summary>
  45. /// <param name="keys"></param>
  46. void RemoveCache(List<string> keys);
  47. }
  48. }