diff --git a/kernel-d-cache/cache-api/src/main/java/cn/stylefeng/roses/kernel/cache/api/constants/CacheConstants.java b/kernel-d-cache/cache-api/src/main/java/cn/stylefeng/roses/kernel/cache/api/constants/CacheConstants.java index b1ac28dcd..8fc3e9c66 100644 --- a/kernel-d-cache/cache-api/src/main/java/cn/stylefeng/roses/kernel/cache/api/constants/CacheConstants.java +++ b/kernel-d-cache/cache-api/src/main/java/cn/stylefeng/roses/kernel/cache/api/constants/CacheConstants.java @@ -33,4 +33,14 @@ public interface CacheConstants { */ Long DEFAULT_CACHE_TIMEOUT = 1000L * 60 * 10; + /** + * 默认object对象缓存的缓存前缀 + */ + String DEFAULT_OBJECT_CACHE_PREFIX = "DEFAULT:OBJECTS:"; + + /** + * 默认String对象缓存的缓存前缀 + */ + String DEFAULT_STRING_CACHE_PREFIX = "DEFAULT:STRINGS:"; + } diff --git a/kernel-d-cache/cache-sdk-memory/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultMemoryCacheOperator.java b/kernel-d-cache/cache-sdk-memory/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultMemoryCacheOperator.java new file mode 100644 index 000000000..163e35e2d --- /dev/null +++ b/kernel-d-cache/cache-sdk-memory/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultMemoryCacheOperator.java @@ -0,0 +1,24 @@ +package cn.stylefeng.roses.kernel.cache.operator; + +import cn.hutool.cache.impl.TimedCache; +import cn.stylefeng.roses.kernel.cache.AbstractMemoryCacheOperator; +import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; + +/** + * 默认内存缓存的实现,value存放Object类型 + * + * @author fengshuonan + * @date 2021/2/24 22:16 + */ +public class DefaultMemoryCacheOperator extends AbstractMemoryCacheOperator { + + public DefaultMemoryCacheOperator(TimedCache timedCache) { + super(timedCache); + } + + @Override + public String getCommonKeyPrefix() { + return CacheConstants.DEFAULT_OBJECT_CACHE_PREFIX; + } + +} diff --git a/kernel-d-cache/cache-sdk-memory/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultStringMemoryCacheOperator.java b/kernel-d-cache/cache-sdk-memory/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultStringMemoryCacheOperator.java new file mode 100644 index 000000000..50d32669f --- /dev/null +++ b/kernel-d-cache/cache-sdk-memory/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultStringMemoryCacheOperator.java @@ -0,0 +1,24 @@ +package cn.stylefeng.roses.kernel.cache.operator; + +import cn.hutool.cache.impl.TimedCache; +import cn.stylefeng.roses.kernel.cache.AbstractMemoryCacheOperator; +import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; + +/** + * 默认内存缓存的实现,value存放String类型 + * + * @author fengshuonan + * @date 2021/2/24 22:16 + */ +public class DefaultStringMemoryCacheOperator extends AbstractMemoryCacheOperator { + + public DefaultStringMemoryCacheOperator(TimedCache timedCache) { + super(timedCache); + } + + @Override + public String getCommonKeyPrefix() { + return CacheConstants.DEFAULT_STRING_CACHE_PREFIX; + } + +} diff --git a/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultRedisCacheOperator.java b/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultRedisCacheOperator.java new file mode 100644 index 000000000..312360f9b --- /dev/null +++ b/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultRedisCacheOperator.java @@ -0,0 +1,24 @@ +package cn.stylefeng.roses.kernel.cache.operator; + +import cn.stylefeng.roses.kernel.cache.AbstractRedisCacheOperator; +import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; +import org.springframework.data.redis.core.RedisTemplate; + +/** + * 默认redis缓存的实现,value存放Object类型 + * + * @author fengshuonan + * @date 2021/2/24 22:16 + */ +public class DefaultRedisCacheOperator extends AbstractRedisCacheOperator { + + public DefaultRedisCacheOperator(RedisTemplate redisTemplate) { + super(redisTemplate); + } + + @Override + public String getCommonKeyPrefix() { + return CacheConstants.DEFAULT_OBJECT_CACHE_PREFIX; + } + +} diff --git a/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultStringRedisCacheOperator.java b/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultStringRedisCacheOperator.java new file mode 100644 index 000000000..a0b1d7f8f --- /dev/null +++ b/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/operator/DefaultStringRedisCacheOperator.java @@ -0,0 +1,24 @@ +package cn.stylefeng.roses.kernel.cache.operator; + +import cn.stylefeng.roses.kernel.cache.AbstractRedisCacheOperator; +import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; +import org.springframework.data.redis.core.RedisTemplate; + +/** + * 默认redis缓存的实现,value存放String类型 + * + * @author fengshuonan + * @date 2021/2/24 22:16 + */ +public class DefaultStringRedisCacheOperator extends AbstractRedisCacheOperator { + + public DefaultStringRedisCacheOperator(RedisTemplate redisTemplate) { + super(redisTemplate); + } + + @Override + public String getCommonKeyPrefix() { + return CacheConstants.DEFAULT_STRING_CACHE_PREFIX; + } + +} diff --git a/kernel-d-cache/memory-cache-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/memory/GunsMemoryCacheAutoConfiguration.java b/kernel-d-cache/memory-cache-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/memory/GunsMemoryCacheAutoConfiguration.java index 52bc67880..134e7b7be 100644 --- a/kernel-d-cache/memory-cache-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/memory/GunsMemoryCacheAutoConfiguration.java +++ b/kernel-d-cache/memory-cache-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/memory/GunsMemoryCacheAutoConfiguration.java @@ -3,6 +3,8 @@ package cn.stylefeng.roses.kernel.cache.starter.memory; import cn.hutool.cache.CacheUtil; import cn.hutool.cache.impl.TimedCache; import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; +import cn.stylefeng.roses.kernel.cache.operator.DefaultMemoryCacheOperator; +import cn.stylefeng.roses.kernel.cache.operator.DefaultStringMemoryCacheOperator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -16,25 +18,27 @@ import org.springframework.context.annotation.Configuration; public class GunsMemoryCacheAutoConfiguration { /** - * 创建默认的value是string类型的缓存 + * 创建默认的value是string类型的内存缓存 * * @author fengshuonan * @date 2021/1/31 20:39 */ @Bean - public TimedCache stringTimedCache() { - return CacheUtil.newTimedCache(CacheConstants.DEFAULT_CACHE_TIMEOUT); + public DefaultStringMemoryCacheOperator defaultStringMemoryCacheOperator() { + TimedCache stringTimedCache = CacheUtil.newTimedCache(CacheConstants.DEFAULT_CACHE_TIMEOUT); + return new DefaultStringMemoryCacheOperator(stringTimedCache); } /** - * 创建默认的value是object类型的缓存 + * 创建默认的value是object类型的内存缓存 * * @author fengshuonan * @date 2021/1/31 20:39 */ @Bean - public TimedCache objectTimedCache() { - return CacheUtil.newTimedCache(CacheConstants.DEFAULT_CACHE_TIMEOUT); + public DefaultMemoryCacheOperator defaultMemoryCacheOperator() { + TimedCache objectTimedCache = CacheUtil.newTimedCache(CacheConstants.DEFAULT_CACHE_TIMEOUT); + return new DefaultMemoryCacheOperator(objectTimedCache); } } diff --git a/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/redis/GunsRedisCacheAutoConfiguration.java b/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/redis/GunsRedisCacheAutoConfiguration.java index dbd7d9938..1529c2e74 100644 --- a/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/redis/GunsRedisCacheAutoConfiguration.java +++ b/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/starter/redis/GunsRedisCacheAutoConfiguration.java @@ -1,5 +1,7 @@ package cn.stylefeng.roses.kernel.cache.starter.redis; +import cn.stylefeng.roses.kernel.cache.operator.DefaultRedisCacheOperator; +import cn.stylefeng.roses.kernel.cache.operator.DefaultStringRedisCacheOperator; import cn.stylefeng.roses.kernel.cache.serializer.FastJson2JsonRedisSerializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -64,4 +66,26 @@ public class GunsRedisCacheAutoConfiguration { return template; } + /** + * 创建默认的value是string类型的redis缓存 + * + * @author fengshuonan + * @date 2021/1/31 20:39 + */ + @Bean + public DefaultStringRedisCacheOperator defaultStringRedisCacheOperator(RedisTemplate stringRedisTemplate) { + return new DefaultStringRedisCacheOperator(stringRedisTemplate); + } + + /** + * 创建默认的value是object类型的redis缓存 + * + * @author fengshuonan + * @date 2021/1/31 20:39 + */ + @Bean + public DefaultRedisCacheOperator defaultRedisCacheOperator(RedisTemplate objectRedisTemplate) { + return new DefaultRedisCacheOperator(objectRedisTemplate); + } + }