springboot中更改RedisTemplate序列化方式


RedisTemplate默認的序列化方式為jdkSerializeable,會把對象序列化存儲到Redis中(二進制形式),StringRedisTemplate的默認序列化方式為StringRedisSerializer。

通過配置,將RedisTemplate的序列化方式進行更改

 1 import org.springframework.context.annotation.Bean;
 2 import org.springframework.context.annotation.Configuration;
 3 import org.springframework.data.redis.connection.RedisConnectionFactory;
 4 import org.springframework.data.redis.core.RedisTemplate;
 5 import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
 6 import org.springframework.data.redis.serializer.StringRedisSerializer;
 7 
 8 /**
 9  * @ClassName:RedisConfig
10  * @Author:微微亮
11  * @Description:
12  * @Date:2020/11/11 20:48
13  * @Version: 1.0
14  */
15 @Configuration
16 public class RedisConfig {
17 
18     @Bean//參數--一個工廠
19     public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
20         RedisTemplate redisTemplate = new RedisTemplate();
21         //給redis模板先設置連接工廠,在設置序列化規則
22         redisTemplate.setConnectionFactory(redisConnectionFactory);
23         //設置序列化規則
24         redisTemplate.setKeySerializer(new StringRedisSerializer());
25         redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer());
26         redisTemplate.setHashKeySerializer(genericJackson2JsonRedisSerializer());
27         redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer());
28         return redisTemplate;
29     }
30 
31     @Bean
32     public GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer(){
33         return new GenericJackson2JsonRedisSerializer();
34     }
35 }

 這樣在其他代碼中

@Autowired
private RedisTemplate redisTemplate;

就可以自動裝配(注入)使用了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM