ICache.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.yiidata.intergration.web.modules.sys.cache;
  2. /**
  3. * <pre>
  4. *
  5. * Created by zhenqin.
  6. * User: zhenqin
  7. * Date: 2020/2/14
  8. * Time: 10:16
  9. * Vendor: yiidata.com
  10. * To change this template use File | Settings | File Templates.
  11. *
  12. * </pre>
  13. *
  14. * @author zhenqin
  15. */
  16. public interface ICache<T> {
  17. /**
  18. * 将数据保存至缓存中
  19. * @param key
  20. * @param value
  21. * @throws Exception
  22. */
  23. void add(String key, T value);
  24. /**
  25. * 将数据保存至缓存中, 过期时间为 exp。 过期单位为:s(秒)
  26. * @param key
  27. * @param exp
  28. * @param value
  29. * @throws Exception
  30. */
  31. void add(String key, int exp, T value);
  32. /**
  33. * 获取缓存中的数据
  34. * @param key
  35. * @return
  36. * @throws Exception
  37. */
  38. T get(String key);
  39. /**
  40. * 移除 某条缓存,不论过期时间
  41. * @param key 缓存的 KEY
  42. * @return
  43. */
  44. T remove(String key);
  45. /**
  46. * 移除 指定前缀的缓存
  47. * @param prefix 缓存的 KEY 前缀,相当于在该前缀自动加 *
  48. * @return 返回了移除多少条
  49. */
  50. int removeByPrefix(String prefix);
  51. /**
  52. * 清空缓存
  53. * @throws Exception
  54. */
  55. void clear();
  56. /**
  57. *
  58. * add @author zhaopx at: 2019-08-20 17:00
  59. *
  60. * 获得缓存队列的长度
  61. * @return 返回大于等于 0 则代表真实长度,返回 -1 代表无法获得
  62. */
  63. int size();
  64. /**
  65. * 停机,关闭缓存
  66. */
  67. void shutdown();
  68. }