【更新】默认使用redis缓存

pull/22/head
小诺 2021-04-19 19:41:38 +08:00 committed by 小诺
parent f4e10f2752
commit ccdba71ea1
9 changed files with 40 additions and 20 deletions

View File

@ -52,7 +52,6 @@
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>
<optional>true</optional>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>io.lettuce</groupId> <groupId>io.lettuce</groupId>
@ -63,7 +62,6 @@
<dependency> <dependency>
<groupId>redis.clients</groupId> <groupId>redis.clients</groupId>
<artifactId>jedis</artifactId> <artifactId>jedis</artifactId>
<optional>true</optional>
</dependency> </dependency>
<!-- jwt token --> <!-- jwt token -->

View File

@ -26,14 +26,16 @@ package vip.xiaonuo.sys.config;
import cn.hutool.cache.CacheUtil; import cn.hutool.cache.CacheUtil;
import cn.hutool.cache.impl.TimedCache; import cn.hutool.cache.impl.TimedCache;
import vip.xiaonuo.core.context.constant.ConstantContextHolder; import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import vip.xiaonuo.core.pojo.login.SysLoginUser; import vip.xiaonuo.core.pojo.login.SysLoginUser;
import vip.xiaonuo.sys.core.cache.MappingCache; import vip.xiaonuo.sys.core.cache.MappingCache;
import vip.xiaonuo.sys.core.cache.ResourceCache; import vip.xiaonuo.sys.core.cache.ResourceCache;
import vip.xiaonuo.sys.core.cache.UserCache; import vip.xiaonuo.sys.core.cache.UserCache;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import vip.xiaonuo.sys.core.redis.FastJson2JsonRedisSerializer;
import java.util.Map; import java.util.Map;
/** /**
@ -57,20 +59,30 @@ public class CacheConfig {
} }
/** /**
* sys_config * redis
* *
* @author yubaoshan * @author yubaoshan
* @date 2020/7/9 11:44 * @date 2020/7/9 11:44
*/ */
@Bean @Bean
public UserCache userCache() { public UserCache userCache(RedisTemplate<String, SysLoginUser> redisTemplate) {
TimedCache<String, SysLoginUser> timedCache = return new UserCache(redisTemplate);
CacheUtil.newTimedCache(ConstantContextHolder.getSessionTokenExpireSec() * 1000); }
// 定时清理缓存间隔1秒 /**
timedCache.schedulePrune(1000); * redis
*
return new UserCache(timedCache); * @author yubaoshan
* @date 2020/4/19 17:53
*/
@Bean
public RedisTemplate<String, SysLoginUser> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, SysLoginUser> userRedisTemplate = new RedisTemplate<>();
userRedisTemplate.setConnectionFactory(factory);
userRedisTemplate.setKeySerializer(new StringRedisSerializer());
userRedisTemplate.setValueSerializer(new FastJson2JsonRedisSerializer<>(SysLoginUser.class));
userRedisTemplate.afterPropertiesSet();
return userRedisTemplate;
} }
/** /**

View File

@ -24,9 +24,9 @@ Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
*/ */
package vip.xiaonuo.sys.core.cache; package vip.xiaonuo.sys.core.cache;
import cn.hutool.cache.impl.TimedCache; import org.springframework.data.redis.core.RedisTemplate;
import vip.xiaonuo.core.pojo.login.SysLoginUser; import vip.xiaonuo.core.pojo.login.SysLoginUser;
import vip.xiaonuo.sys.core.cache.base.AbstractMemoryCacheOperator; import vip.xiaonuo.sys.core.cache.base.AbstractRedisCacheOperator;
/** /**
* *
@ -38,19 +38,20 @@ import vip.xiaonuo.sys.core.cache.base.AbstractMemoryCacheOperator;
* @author yubaoshan * @author yubaoshan
* @date 2020/7/9 11:02 * @date 2020/7/9 11:02
*/ */
public class UserCache extends AbstractMemoryCacheOperator<SysLoginUser> { public class UserCache extends AbstractRedisCacheOperator<SysLoginUser> {
/** /**
* *
*/ */
public static final String LOGIN_USER_CACHE_PREFIX = "LOGIN_USER_"; public static final String LOGIN_USER_CACHE_PREFIX = "LOGIN_USER_";
public UserCache(TimedCache<String, SysLoginUser> timedCache) { public UserCache(RedisTemplate<String, SysLoginUser> redisTemplate) {
super(timedCache); super(redisTemplate);
} }
@Override @Override
public String getCommonKeyPrefix() { public String getCommonKeyPrefix() {
return LOGIN_USER_CACHE_PREFIX; return LOGIN_USER_CACHE_PREFIX;
} }
} }

View File

@ -29,7 +29,6 @@ import cn.hutool.core.util.StrUtil;
import vip.xiaonuo.core.cache.CacheOperator; import vip.xiaonuo.core.cache.CacheOperator;
import vip.xiaonuo.core.consts.SymbolConstant; import vip.xiaonuo.core.consts.SymbolConstant;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -30,7 +30,6 @@ import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException; import org.springframework.data.redis.serializer.SerializationException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
/** /**

View File

@ -27,7 +27,6 @@ package vip.xiaonuo.sys.modular.auth.service;
import vip.xiaonuo.core.pojo.login.SysLoginUser; import vip.xiaonuo.core.pojo.login.SysLoginUser;
import vip.xiaonuo.sys.modular.user.entity.SysUser; import vip.xiaonuo.sys.modular.user.entity.SysUser;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** /**

View File

@ -5,6 +5,10 @@ spring:
url: jdbc:mysql://localhost:3306/snowy-pub?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true url: jdbc:mysql://localhost:3306/snowy-pub?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: root username: root
password: 123456 password: 123456
redis:
host: localhost
port: 6379
password:
# Oracle数据库 # Oracle数据库
#spring: #spring:

View File

@ -5,6 +5,10 @@ spring:
url: jdbc:mysql://localhost:3306/snowy-pub?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true url: jdbc:mysql://localhost:3306/snowy-pub?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: root username: root
password: 123456 password: 123456
redis:
host: localhost
port: 6379
password:
# Oracle数据库 # Oracle数据库
#spring: #spring:

View File

@ -5,6 +5,10 @@ spring:
url: jdbc:mysql://localhost:3306/snowy-pub?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true url: jdbc:mysql://localhost:3306/snowy-pub?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: root username: root
password: 123456 password: 123456
redis:
host: localhost
port: 6379
password:
# Oracle数据库 # Oracle数据库
#spring: #spring: