类 CacheUtils
java.lang.Object
org.tio.utils.cache.CacheUtils
cache使用的一些工具方法,简化业务代码
- 作者:
- tanyaowu
-
方法概要
修饰符和类型方法说明static <T extends Serializable>
Tget(Long timeToLiveSeconds, Long timeToIdleSeconds, String cacheKey, boolean putTempToCacheIfNull, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中 timeToLiveSeconds和timeToIdleSeconds一个传null一个传值static <T extends Serializable>
Tget(Long timeToLiveSeconds, Long timeToIdleSeconds, String cacheKey, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中static <T extends Serializable>
Tget(ICache cache, String cacheKey, boolean putTempToCacheIfNull, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中static <T extends Serializable>
Tget(ICache cache, String cacheKey, boolean putTempToCacheIfNull, FirsthandCreater<T> firsthandCreater, Long readTimeoutWithSeconds) static <T extends Serializable>
Tget(ICache cache, String cacheKey, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中static CaffeineCachegetCaffeineCache(Long timeToLiveSeconds, Long timeToIdleSeconds) 根据参数获取或创建CaffeineCache对象static CaffeineRedisCachegetCaffeineRedisCache(org.redisson.api.RedissonClient redisson, Long timeToLiveSeconds, Long timeToIdleSeconds) static void
-
方法详细资料
-
get
public static <T extends Serializable> T get(Long timeToLiveSeconds, Long timeToIdleSeconds, String cacheKey, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中- 参数:
timeToLiveSeconds-timeToIdleSeconds-cacheKey-firsthandCreater-- 返回:
-
get
public static <T extends Serializable> T get(Long timeToLiveSeconds, Long timeToIdleSeconds, String cacheKey, boolean putTempToCacheIfNull, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中 timeToLiveSeconds和timeToIdleSeconds一个传null一个传值- 参数:
timeToLiveSeconds-timeToIdleSeconds-cacheKey- 请业务侧保证cacheKey的唯一性,建议的做法是由prefix + key组成,譬如"user.124578",其中user就是prefix,124578就是keyputTempToCacheIfNull- 当FirsthandCreater获取不到对象时,是否使用临时对象,以防缓存攻击。true:可以防止缓存null攻击firsthandCreater-- 返回:
-
get
public static <T extends Serializable> T get(ICache cache, String cacheKey, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中- 参数:
cache-cacheKey-firsthandCreater-- 返回:
-
get
public static <T extends Serializable> T get(ICache cache, String cacheKey, boolean putTempToCacheIfNull, FirsthandCreater<T> firsthandCreater) 根据cacheKey从缓存中获取对象,如果缓存中没有该key对象,则用firsthandCreater获取对象,并将对象用cacheKey存于cache中- 参数:
cache-cacheKey-putTempToCacheIfNull- 当FirsthandCreater获取不到对象时,是否使用临时对象,以防缓存攻击。true:可以防止缓存null攻击firsthandCreater-- 返回:
-
get
public static <T extends Serializable> T get(ICache cache, String cacheKey, boolean putTempToCacheIfNull, FirsthandCreater<T> firsthandCreater, Long readTimeoutWithSeconds) - 类型参数:
T-- 参数:
cache-cacheKey-putTempToCacheIfNull-firsthandCreater-readTimeoutWithSeconds- 获取读锁的超时时间- 返回:
-
getCaffeineCache
根据参数获取或创建CaffeineCache对象- 参数:
timeToLiveSeconds-timeToIdleSeconds-- 返回:
-
getCaffeineRedisCache
public static CaffeineRedisCache getCaffeineRedisCache(org.redisson.api.RedissonClient redisson, Long timeToLiveSeconds, Long timeToIdleSeconds) -
main
-