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 redisTemplate(RedisConnectionFactory connectionFactory) { // 1. 创建 RedisTemplate 对象 RedisTemplate 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; } }