public class RedisCaffeineCache
extends org.springframework.cache.support.AbstractValueAdaptingCache
| 限定符和类型 | 字段和说明 |
|---|---|
private java.lang.String |
cachePrefix |
private com.github.benmanes.caffeine.cache.Cache<java.lang.Object,java.lang.Object> |
caffeineCache |
private java.time.Duration |
defaultExpiration |
private java.time.Duration |
defaultNullValuesExpiration |
private java.util.Map<java.lang.String,java.time.Duration> |
expires |
private java.util.Map<java.lang.String,java.util.concurrent.locks.ReentrantLock> |
keyLockMap |
private java.lang.String |
name |
private org.springframework.data.redis.core.RedisTemplate<java.lang.Object,java.lang.Object> |
stringKeyRedisTemplate |
private java.lang.String |
topic |
private boolean |
usedCaffeineCache |
private boolean |
usedRedisCache |
| 构造器和说明 |
|---|
RedisCaffeineCache(java.lang.String name,
org.springframework.data.redis.core.RedisTemplate<java.lang.Object,java.lang.Object> stringKeyRedisTemplate,
com.github.benmanes.caffeine.cache.Cache<java.lang.Object,java.lang.Object> caffeineCache,
CacheConfigProperties cacheConfigProperties) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
clear() |
void |
clearLocal(java.lang.Object key) |
private void |
doPut(java.lang.Object key,
java.lang.Object value) |
void |
evict(java.lang.Object key) |
<T> T |
get(java.lang.Object key,
java.util.concurrent.Callable<T> valueLoader) |
protected java.lang.Object |
getCaffeineValue(java.lang.Object key) |
protected java.time.Duration |
getExpire(java.lang.Object value) |
protected java.lang.Object |
getKey(java.lang.Object key) |
java.lang.Object |
getNativeCache() |
protected java.lang.Object |
getRedisValue(java.lang.Object key) |
protected java.lang.Object |
lookup(java.lang.Object key) |
protected void |
push(CacheMessage message) |
void |
put(java.lang.Object key,
java.lang.Object value) |
org.springframework.cache.Cache.ValueWrapper |
putIfAbsent(java.lang.Object key,
java.lang.Object value) |
protected void |
setCaffeineValue(java.lang.Object key,
java.lang.Object value) |
protected void |
setRedisValue(java.lang.Object key,
java.lang.Object value,
java.time.Duration expire) |
fromStoreValue, get, get, isAllowNullValues, toStoreValue, toValueWrapperprivate final java.lang.String name
private final com.github.benmanes.caffeine.cache.Cache<java.lang.Object,java.lang.Object> caffeineCache
private final org.springframework.data.redis.core.RedisTemplate<java.lang.Object,java.lang.Object> stringKeyRedisTemplate
private final java.lang.String cachePrefix
private final java.time.Duration defaultExpiration
private final java.time.Duration defaultNullValuesExpiration
private final java.util.Map<java.lang.String,java.time.Duration> expires
private final java.lang.String topic
private final java.util.Map<java.lang.String,java.util.concurrent.locks.ReentrantLock> keyLockMap
private final boolean usedCaffeineCache
private final boolean usedRedisCache
public RedisCaffeineCache(java.lang.String name,
org.springframework.data.redis.core.RedisTemplate<java.lang.Object,java.lang.Object> stringKeyRedisTemplate,
com.github.benmanes.caffeine.cache.Cache<java.lang.Object,java.lang.Object> caffeineCache,
CacheConfigProperties cacheConfigProperties)
public java.lang.Object getNativeCache()
public <T> T get(java.lang.Object key,
java.util.concurrent.Callable<T> valueLoader)
public void put(java.lang.Object key,
java.lang.Object value)
public org.springframework.cache.Cache.ValueWrapper putIfAbsent(java.lang.Object key,
java.lang.Object value)
private void doPut(java.lang.Object key,
java.lang.Object value)
public void evict(java.lang.Object key)
public void clear()
protected java.lang.Object lookup(java.lang.Object key)
lookup 在类中 org.springframework.cache.support.AbstractValueAdaptingCacheprotected java.lang.Object getKey(java.lang.Object key)
protected java.time.Duration getExpire(java.lang.Object value)
protected void push(CacheMessage message)
public void clearLocal(java.lang.Object key)
protected void setRedisValue(java.lang.Object key,
java.lang.Object value,
java.time.Duration expire)
protected java.lang.Object getRedisValue(java.lang.Object key)
protected void setCaffeineValue(java.lang.Object key,
java.lang.Object value)
protected java.lang.Object getCaffeineValue(java.lang.Object key)
Copyright © 2023. All rights reserved.