| New file | 
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|