K - 签章缓存对应Key值的类型。V - 签章缓存存储数据,对应的具体存储值的类型,public interface StampManager<K,V>
extends org.springframework.beans.factory.InitializingBean
Description: Stamp 服务接口
此Stamp非OAuth2 Stamp。而是用于在特定条件下生成后,在一定时间就会消除的标记性Stamp。 例如,幂等、短信验证码、Auth State等,用时生成,然后进行验证,之后再删除的标记Stamp。
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
check(K key,
V value)
校验Stamp值,与本地存储的Stamp 是否匹配
|
default boolean |
containKey(K key) |
default V |
create(K key)
创建具体的Stamp签章值,并存储至本地缓存
|
default V |
create(K key,
Duration expire)
创建具体的Stamp签章值,并存储至本地缓存
|
default V |
create(K key,
long expireAfterWrite,
TimeUnit timeUnit)
创建具体的Stamp签章值,并存储至本地缓存
|
void |
delete(K key)
删除与Key对应的Stamp
|
V |
get(K key)
根据key读取Stamp
|
Duration |
getExpire()
过期时间
|
default com.alicp.jetcache.AutoReleaseLock |
lock(K key)
锁定值
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
default com.alicp.jetcache.AutoReleaseLock |
lock(K key,
Duration expire)
锁定值
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
com.alicp.jetcache.AutoReleaseLock |
lock(K key,
long expire,
TimeUnit timeUnit)
锁定值
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
default boolean |
lockAndRun(K key,
Duration expire,
Runnable action)
锁定并执行操作
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
boolean |
lockAndRun(K key,
long expire,
TimeUnit timeUnit,
Runnable action)
锁定并执行操作
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
default boolean |
lockAndRun(K key,
Runnable action)
锁定并执行操作
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。
|
V |
nextStamp(K key)
生成缓存值策略方法,该方法负责生成具体存储的值。
|
default void |
put(K key,
V value)
保存与Key对应的Stamp签章值
|
default void |
put(K key,
V value,
Duration expire)
保存与Key对应的Stamp签章值
|
void |
put(K key,
V value,
long expireAfterWrite,
TimeUnit timeUnit)
保存与Key对应的Stamp签章值
|
void put(K key, V value, long expireAfterWrite, TimeUnit timeUnit)
key - 存储Keyvalue - 与Key对应的StampexpireAfterWrite - 过期时间timeUnit - 过期时间单位default void put(K key, V value, Duration expire)
key - 存储Keyvalue - 与Key对应的Stamp值expire - 过期时间Durationdefault V create(K key, long expireAfterWrite, TimeUnit timeUnit)
key - 签章存储Key值expireAfterWrite - 写入之后过期时间。注意:该值每次写入都会覆盖。如果有一个时间周期内的反复存取操作,需要手动计算时间差。timeUnit - 时间单位default V create(K key, Duration expire)
key - 签章存储Key值expire - 过期时间Durationboolean check(K key, V value) throws StampParameterIllegalException, StampHasExpiredException, StampMismatchException
key - 与Stamp对应的Key值value - 外部传入的Stamp值StampParameterIllegalException - 传入Stamp错误StampHasExpiredException - 本地数据中没有Stamp或者Stamp已经过期。StampMismatchException - Stamp与本地存储值不匹配void delete(K key) throws StampDeleteFailedException
key - 存储数据Key值StampDeleteFailedException - Stamp删除错误default boolean containKey(K key)
com.alicp.jetcache.AutoReleaseLock lock(K key, long expire, TimeUnit timeUnit)
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
key - 存储Keyexpire - 过期时间timeUnit - 过期时间单位AutoReleaseLockdefault com.alicp.jetcache.AutoReleaseLock lock(K key, Duration expire)
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
key - 存储Keyexpire - 过期时间DurationAutoReleaseLockdefault com.alicp.jetcache.AutoReleaseLock lock(K key)
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。 *
key - 存储KeyAutoReleaseLockboolean lockAndRun(K key, long expire, TimeUnit timeUnit, Runnable action)
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
key - 存储Keyexpire - 过期时间timeUnit - 过期时间单位action - 需要执行的操作 Runnabledefault boolean lockAndRun(K key, Duration expire, Runnable action)
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
key - 存储Keyexpire - 过期时间Durationaction - 需要执行的操作 Runnabledefault boolean lockAndRun(K key, Runnable action)
非堵塞的尝试获取一个锁,如果对应的key还没有锁,返回一个AutoReleaseLock,否则立即返回空。如果Cache实例是本地的,它是一个本地锁,在本JVM中有效;如果是redis等远程缓存,它是一个不十分严格的分布式锁。锁的超时时间由expire和timeUnit指定。多级缓存的情况会使用最后一级做tryLock操作。
key - 存储Keyaction - 需要执行的操作 RunnableCopyright © 2023 Dromara. All rights reserved.