kvs : tokens.entrySet()) {
+ AppToken appToken = kvs.getValue();
+ // 超过10分钟
+ if (currentTime - appToken.getLastTime() > 600000L) {
+ clearTokenKeys.add(kvs.getKey());
+ }
+ }
+ for (String tokenKey : clearTokenKeys) {
+ redisTemplate.opsForHash().delete(TOKEN_HASH_KEY, tokenKey);
+ }
+ LOG.trace("本次共清理超时Token:{}个", clearTokenKeys.size());
+ }
+}
diff --git a/redis-cache/src/main/java/ink/wgink/redis/cache/manager/config/RedisConfig.java b/redis-cache/src/main/java/ink/wgink/redis/cache/manager/config/RedisConfig.java
new file mode 100644
index 00000000..521d53c4
--- /dev/null
+++ b/redis-cache/src/main/java/ink/wgink/redis/cache/manager/config/RedisConfig.java
@@ -0,0 +1,45 @@
+package ink.wgink.redis.cache.manager.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * @ClassName: RedisConfig
+ * @Description: 解决key的乱码问题
+ *
+ * 乱码原因:
+ * spring-data-redis 的 RedisTemplate模板类 在操作redis时默认使用JdkSerializationRedisSerializer 来进行序列化。spring操作redis是在jedis客户端基础上进行的,而jedis客户端与redis交互的时候协议中定义是用byte类型交互,看到spring-data-redis中RedisTemplate在操作的时候k,v是泛型对象,而不是byte[]类型的,
+ * 这样导致的一个问题就是,如果不对RedisTemplate进行设置,spring会默认采用defaultSerializer = new JdkSerializationRedisSerializer();这个方法来对key、value进行序列化操作,JdkSerializationRedisSerializer它使用的编码是ISO-8859-1
+ *
+ * @Author: wanggeng
+ * @Date: 2021/11/29 5:37 下午
+ * @Version: 1.0
+ */
+@Configuration
+public class RedisConfig {
+
+ @Bean(name = "redisTemplate")
+ public RedisTemplate