package com.hxzk.gps.util.redis;
|
|
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.GenericJackson2JsonRedisSerializer;
|
import org.springframework.data.redis.serializer.RedisSerializer;
|
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
|
@Configuration
|
@EnableCaching
|
public class RedisConfig {
|
|
@Bean
|
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
|
// 1. 创建 RedisTemplate 对象
|
RedisTemplate<String, Object> template = new RedisTemplate<>();
|
template.setConnectionFactory(connectionFactory);
|
|
// 2. 创建 JSON 序列化工具
|
GenericJackson2JsonRedisSerializer jsonSerializer = new GenericJackson2JsonRedisSerializer();
|
|
// 3. 设置 Key 和 HashKey 的序列化使用 StringRedisSerializer
|
template.setKeySerializer(RedisSerializer.string());
|
template.setHashKeySerializer(RedisSerializer.string());
|
|
// 4. 设置 Value 和 HashValue 的序列化使用 JSON 序列化器
|
template.setValueSerializer(jsonSerializer);
|
template.setHashValueSerializer(jsonSerializer);
|
|
// 5. 使配置生效
|
template.afterPropertiesSet();
|
|
return template;
|
}
|
}
|