K - 签章缓存对应Key值的类型。V - 签章缓存存储数据,对应的具体存储值的类型,public abstract class AbstractStampManager<K,V> extends Object implements StampManager<K,V>
Description: 抽象Stamp管理
| 构造器和说明 |
|---|
AbstractStampManager() |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
check(K key,
V value)
校验Stamp值,与本地存储的Stamp 是否匹配
|
void |
delete(K key)
删除与Key对应的Stamp
|
V |
get(K key)
根据key读取Stamp
|
protected abstract com.alicp.jetcache.Cache<K,V> |
getCache()
指定数据存储缓存
|
Duration |
getExpire()
过期时间
|
com.alicp.jetcache.AutoReleaseLock |
lock(K key,
long expire,
TimeUnit timeUnit)
锁定值
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
boolean |
lockAndRun(K key,
long expire,
TimeUnit timeUnit,
Runnable action)
锁定并执行操作
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
void |
put(K key,
V value,
long expireAfterWrite,
TimeUnit timeUnit)
保存与Key对应的Stamp签章值
|
void |
setExpire(Duration expire) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcontainKey, create, create, create, lock, lock, lockAndRun, lockAndRun, nextStamp, put, putpublic Duration getExpire()
StampManagergetExpire 在接口中 StampManager<K,V>Durationpublic void setExpire(Duration expire)
public boolean check(K key, V value)
StampManagercheck 在接口中 StampManager<K,V>key - 与Stamp对应的Key值value - 外部传入的Stamp值public V get(K key)
StampManagerget 在接口中 StampManager<K,V>key - 存储数据Key值public void delete(K key) throws StampDeleteFailedException
StampManagerdelete 在接口中 StampManager<K,V>key - 存储数据Key值StampDeleteFailedException - Stamp删除错误public void put(K key, V value, long expireAfterWrite, TimeUnit timeUnit)
StampManagerput 在接口中 StampManager<K,V>key - 存储Keyvalue - 与Key对应的StampexpireAfterWrite - 过期时间timeUnit - 过期时间单位public com.alicp.jetcache.AutoReleaseLock lock(K key, long expire, TimeUnit timeUnit)
StampManager非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
lock 在接口中 StampManager<K,V>key - 存储Keyexpire - 过期时间timeUnit - 过期时间单位AutoReleaseLockpublic boolean lockAndRun(K key, long expire, TimeUnit timeUnit, Runnable action)
StampManager非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
lockAndRun 在接口中 StampManager<K,V>key - 存储Keyexpire - 过期时间timeUnit - 过期时间单位action - 需要执行的操作 RunnableCopyright © 2022. All rights reserved.