| package com.ruoyi.common.redis.configure; | 
|   | 
| import org.springframework.boot.autoconfigure.AutoConfigureBefore; | 
| import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | 
| import org.springframework.cache.annotation.CachingConfigurerSupport; | 
| import org.springframework.cache.annotation.EnableCaching; | 
| 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.StringRedisSerializer; | 
|   | 
| /** | 
|  * redis配置 | 
|  * | 
|  * @author ruoyi | 
|  */ | 
| @Configuration | 
| @EnableCaching | 
| @AutoConfigureBefore(RedisAutoConfiguration.class) | 
| public class RedisConfig extends CachingConfigurerSupport { | 
|     @Bean | 
|     @SuppressWarnings(value = {"unchecked", "rawtypes"}) | 
|     public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) { | 
|         RedisTemplate<Object, Object> template = new RedisTemplate<>(); | 
|         template.setConnectionFactory(connectionFactory); | 
|   | 
|         FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class); | 
|   | 
|         // 使用StringRedisSerializer来序列化和反序列化redis的key值 | 
|         template.setKeySerializer(new StringRedisSerializer()); | 
|         template.setValueSerializer(serializer); | 
|   | 
|         // Hash的key也采用StringRedisSerializer的序列化方式 | 
|         template.setHashKeySerializer(new StringRedisSerializer()); | 
|         template.setHashValueSerializer(serializer); | 
|   | 
|         template.afterPropertiesSet(); | 
|         return template; | 
|     } | 
| } |