类 AbstractCountStampManager

java.lang.Object
cn.herodotus.engine.cache.jetcache.stamp.AbstractStampManager<String,Long>
cn.herodotus.engine.cache.jetcache.stamp.AbstractCountStampManager
所有已实现的接口:
StampManager<String,Long>, org.springframework.beans.factory.InitializingBean

public abstract class AbstractCountStampManager extends AbstractStampManager<String,Long>

Description: 计数类型的缓存

这里的泛型使用了 Long 主要是为了兼顾存储 System.currentTimeMillis()。否则类型不一致,还要建两个 Stamp

作者:
: gengwei.zheng
Date:
: 2022/7/6 22:59
  • 构造器详细资料

    • AbstractCountStampManager

      public AbstractCountStampManager(String cacheName)
    • AbstractCountStampManager

      public AbstractCountStampManager(String cacheName, com.alicp.jetcache.anno.CacheType cacheType)
    • AbstractCountStampManager

      public AbstractCountStampManager(String cacheName, com.alicp.jetcache.anno.CacheType cacheType, Duration expire)
  • 方法详细资料

    • counting

      public int counting(String identity) throws cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException
      在缓存有效期内进行计数
      参数:
      identity - 缓存 Key 的区分标识
      返回:
      当前错误次数
      抛出:
      cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException - 超出最大限制次数错误
    • counting

      public int counting(String identity, int maxTimes) throws cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException
      在缓存有效期内进行计数
      参数:
      identity - 缓存 Key 的区分标识
      maxTimes - 允许的最大限制次数
      返回:
      当前错误次数
      抛出:
      cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException - 超出最大限制次数错误
    • counting

      public int counting(String identity, int maxTimes, Duration expire) throws cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException
      在缓存有效期内进行计数
      参数:
      identity - 缓存 Key 的区分标识
      maxTimes - 允许的最大限制次数
      expire - 过期时间
      返回:
      当前错误次数
      抛出:
      cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException - 超出最大限制次数错误
    • counting

      public int counting(String identity, int maxTimes, Duration expire, String function) throws cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException
      在缓存有效期内进行计数
      参数:
      identity - 缓存 Key 的区分标识
      maxTimes - 允许的最大限制次数
      expire - 过期时间
      function - 用于在日志中区分是哪个功能在调用。
      返回:
      当前错误次数
      抛出:
      cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException - 超出最大限制次数错误
    • counting

      public int counting(String identity, int maxTimes, Duration expire, boolean useMd5) throws cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException
      在缓存有效期内进行计数
      参数:
      identity - 缓存 Key 的区分标识
      maxTimes - 允许的最大限制次数
      expire - 过期时间
      useMd5 - 是否用 MD5 对区分标识进行混淆加密
      返回:
      当前错误次数
      抛出:
      cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException - 超出最大限制次数错误
    • counting

      public int counting(String identity, int maxTimes, Duration expire, boolean useMd5, String function) throws cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException
      在缓存有效期内进行计数
      参数:
      identity - 缓存 Key 的区分标识
      maxTimes - 允许的最大限制次数
      expire - 过期时间
      useMd5 - 是否用 MD5 对区分标识进行混淆加密
      function - 用于在日志中区分是哪个功能在调用。
      返回:
      当前错误次数
      抛出:
      cn.herodotus.engine.cache.core.exception.MaximumLimitExceededException - 超出最大限制次数错误
    • getMaxTimes

      public int getMaxTimes()
    • setMaxTimes

      public void setMaxTimes(int maxTimes)