说明:redisTemplate的keySerializer、hashKeySerializer设置为StringRedisSerializer,valueSerializer、hashValueSerializer设置为**genericJackson2JsonRedisSerializer **
配置类:
package com.atguigu.bookcity.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.StringRedisSerializer;
/**
* @author ycjstart
* @create 2022-11-19 21:11
*/
/*
* 自定义Redis序列化方式,使用Json方式:
* 当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。
* RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRedisSerializer。
* Spring Data JPA为我们提供了下面的Serializer:
* GenericToStringSerializer、Jackson2JsonRedisSerializer、JacksonJsonRedisSerializer、JdkSerializationRedisSerializer、OxmSerializer、StringRedisSerializer。
* 在此我们将自己配置RedisTemplate并定义Serializer。
*/
@Configuration
public class RedisConfig {
/**
* 向容器中添加 GenericJackson2JsonRedisSerializer
*/
@Bean(name = "springSessionDefaultRedisSerializer")
public GenericJackson2JsonRedisSerializer getGenericJackson2JsonRedisSerializer() {
return new GenericJackson2JsonRedisSerializer();
}
/**
* 自定义 RedisTemplate
*/
@Bean
public RedisTemplate<String, Object> getRedisTemplate( RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
//设置 redisTemplate 的 ConnectionFactory
redisTemplate.setConnectionFactory(connectionFactory);
//设置 redisTemplate 的 DefaultSerializer
redisTemplate.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
//设置 redisTemplate 的 KeySerializer、HashKeySerializer
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setHashKeySerializer(stringRedisSerializer);
return redisTemplate;
}
}
标签:自定义,springframework,StringRedisSerializer,RedisTemplate,org,import,redisTemplate
From: https://www.cnblogs.com/MuYg/p/16909042.html