类 AbstractStampManager<K,V>
java.lang.Object
cn.herodotus.engine.cache.jetcache.stamp.AbstractStampManager<K,V>
- 类型参数:
K- 签章缓存对应Key值的类型。V- 签章缓存存储数据,对应的具体存储值的类型,
- 所有已实现的接口:
StampManager<K,,V> org.springframework.beans.factory.InitializingBean
- 直接已知子类:
AbstractCountStampManager
Description: 抽象Stamp管理
- 作者:
- : gengwei.zheng
- Date:
- : 2021/8/23 11:51
-
构造器概要
构造器构造器说明AbstractStampManager(String cacheName) AbstractStampManager(String cacheName, com.alicp.jetcache.anno.CacheType cacheType) AbstractStampManager(String cacheName, com.alicp.jetcache.anno.CacheType cacheType, Duration expire) -
方法概要
修饰符和类型方法说明boolean校验Stamp值,与本地存储的Stamp 是否匹配void删除与Key对应的Stamp根据key读取StampgetCache()指定数据存储缓存过期时间com.alicp.jetcache.AutoReleaseLock锁定值booleanlockAndRun(K key, long expire, TimeUnit timeUnit, Runnable action) 锁定并执行操作void保存与Key对应的Stamp签章值void从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 org.springframework.beans.factory.InitializingBean
afterPropertiesSet从接口继承的方法 cn.herodotus.engine.cache.jetcache.stamp.StampManager
containKey, create, create, create, lock, lock, lockAndRun, lockAndRun, nextStamp, put, put
-
构造器详细资料
-
AbstractStampManager
-
AbstractStampManager
-
AbstractStampManager
-
-
方法详细资料
-
getCache
指定数据存储缓存- 返回:
Cache
-
getExpire
从接口复制的说明:StampManager过期时间- 指定者:
getExpire在接口中StampManager<K,V> - 返回:
Duration
-
setExpire
-
check
从接口复制的说明:StampManager校验Stamp值,与本地存储的Stamp 是否匹配- 指定者:
check在接口中StampManager<K,V> - 参数:
key- 与Stamp对应的Key值value- 外部传入的Stamp值- 返回:
- ture 匹配,false 不匹配
-
get
从接口复制的说明:StampManager根据key读取Stamp- 指定者:
get在接口中StampManager<K,V> - 参数:
key- 存储数据Key值- 返回:
- 存储的Stamp值
-
delete
从接口复制的说明:StampManager删除与Key对应的Stamp- 指定者:
delete在接口中StampManager<K,V> - 参数:
key- 存储数据Key值- 抛出:
StampDeleteFailedException- Stamp删除错误
-
put
从接口复制的说明:StampManager保存与Key对应的Stamp签章值- 指定者:
put在接口中StampManager<K,V> - 参数:
key- 存储Keyvalue- 与Key对应的StampexpireAfterWrite- 过期时间timeUnit- 过期时间单位
-
lock
从接口复制的说明:StampManager锁定值非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
- 指定者:
lock在接口中StampManager<K,V> - 参数:
key- 存储Keyexpire- 过期时间timeUnit- 过期时间单位- 返回:
AutoReleaseLock- 另请参阅:
-
lockAndRun
从接口复制的说明:StampManager锁定并执行操作非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
- 指定者:
lockAndRun在接口中StampManager<K,V> - 参数:
key- 存储Keyexpire- 过期时间timeUnit- 过期时间单位action- 需要执行的操作Runnable- 返回:
- 是否执行成功
- 另请参阅:
-