From 2b2a4cd535b047bed2fc182985a2895f3c8f7c76 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期三, 19 七月 2023 00:01:44 +0800
Subject: [PATCH] 优化代码
---
java110-core/src/main/java/com/java110/core/cache/Java110RedisConfig.java | 40 ++++++++++++++++++++++++++++++++++------
1 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/cache/Java110RedisConfig.java b/java110-core/src/main/java/com/java110/core/cache/Java110RedisConfig.java
index 397398d..bef393a 100755
--- a/java110-core/src/main/java/com/java110/core/cache/Java110RedisConfig.java
+++ b/java110-core/src/main/java/com/java110/core/cache/Java110RedisConfig.java
@@ -1,5 +1,10 @@
package com.java110.core.cache;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
@@ -12,8 +17,8 @@
import org.springframework.data.redis.cache.RedisCacheManager;
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.RedisSerializationContext;
+import org.springframework.data.redis.serializer.*;
+import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import org.springframework.util.StringUtils;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
@@ -40,6 +45,18 @@
@Autowired
private RedisTemplate redisTemplate;
+ @Bean
+ public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
+ RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
+ redisTemplate.setConnectionFactory(factory);
+ redisTemplate.setKeySerializer(new StringRedisSerializer()); // key鐨勫簭鍒楀寲绫诲瀷
+ redisTemplate.setHashKeySerializer(new StringRedisSerializer());
+ redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer()); // value鐨勫簭鍒楀寲绫诲瀷
+ redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
+ redisTemplate.afterPropertiesSet();
+ return redisTemplate;
+ }
+
//@Bean(name = "jedisPool")
//@Autowired
public JedisPool jedisPool(@Qualifier("jedis.pool.config") JedisPoolConfig config,
@@ -60,7 +77,7 @@
}
-// @Bean(name = "jedisCluster")
+ // @Bean(name = "jedisCluster")
// @Autowired
public JedisCluster jedisCluster(@Qualifier("jedis.pool.config") JedisPoolConfig config,
@Value("${jedis.pool.host}") String host,
@@ -95,6 +112,11 @@
return config;
}
+ @Bean
+ public RedisSerializer<String> redisKeySerializer(){
+ return new StringRedisSerializer();
+ }
+
@Override
@Bean
@@ -111,14 +133,20 @@
return cm;
}
+ /**
+ * @return
+ * @Cacheable鍜岄�氳繃RedisTemplate涔嬮棿鍘荤浉浜掕幏鍙栨暟鎹�
+ * @Cacheable娉ㄨВ瀛樺偍redis缂撳瓨鏁版嵁鍜岄�氳繃RedisTemplate鍘昏幏鍙栧瓨鍌ㄧ殑鏁版嵁锛岀敱浜嶡Cacheable榛樿鐨勫簭鍒楀寲缂栫爜瀛樺偍鍒版暟鎹负byte绫诲瀷锛岃�孯edisTemplate鐨勯粯璁ょ紪鐮佷负JdkSerializationRedisSerializer锛屾墍浠ヨ閫氳繃璁剧疆鍚屼竴涓簭鍒楀寲鏂瑰紡鍘昏В鍐抽棶棰橈紱 閫氳繃缁ф壙CachingConfigurerSupport骞朵笖寮�鍚疈EnableCaching鍘昏缃甤ache鐨勯厤缃�氳繃RedisCacheConfiguration.defaultCacheConfig()鍘昏缃簭鍒楀寲鐨勬柟寮廟edisTemplate<String, Object>璁剧疆RedisTemplate鐨勫簭鍒楀寲鏂瑰紡
+ * 璁剧疆搴忓垪鍖栨柟寮廕ackson2JsonRedisSerializer
+ */
@Bean
public RedisCacheConfiguration redisCacheConfiguration() {
RedisCacheConfiguration configuration = RedisCacheConfiguration.defaultCacheConfig();
-
- configuration = configuration.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())).entryTtl(Duration.ofSeconds(30));
-
+ configuration = configuration.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new JdkSerializationRedisSerializer())).entryTtl(Duration.ofSeconds(30));
return configuration;
+
+
}
--
Gitblit v1.8.0