Class AbstractCountStampManager

java.lang.Object
cn.herodotus.engine.cache.jetcache.stamp.AbstractStampManager<String,Long>
cn.herodotus.engine.cache.jetcache.stamp.AbstractCountStampManager
All Implemented Interfaces:
StampManager<String,Long>, org.springframework.beans.factory.InitializingBean

public abstract class AbstractCountStampManager extends AbstractStampManager<String,Long>

Description: 计数类型的缓存

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

Author:
: gengwei.zheng
Date:
: 2022/7/6 22:59
  • Constructor Details

    • 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)
  • Method Details

    • counting

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

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

      public int getMaxTimes()
    • setMaxTimes

      public void setMaxTimes(int maxTimes)