全局设置redisTemplate中的key的序列化方式
@Configuration
public class RedisTemplates {
@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
RedisTemplate<String,Object> redisTemplate = new RedisTemplate();
//设置key的序列化方式
redisTemplate.setKeySerializer(new StringRedisSerializer());
//设置值的序列化范式
redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
//hash类型比较特殊是有两个key,当前我们设置的是除了hash的都设置成功了
//hash的还需要我们去特别的指定序列化类型
//指定hash键的序列化
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
//指定hash值的序列化
redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
//把我们自定义的设置放到工厂中
redisTemplate.setConnectionFactory(redisConnectionFactory);
return redisTemplate;
}
}
操作
@Autowired
RedisTemplate<String, Object> redisTemplate;
@Test
public void redis(){
//User users =new User();
//users.setAge(24).setName("坤哥");
//redisTemplate.opsForValue().set("users",users);
User users = (User) redisTemplate.opsForValue().get("user");
System.out.println(users);
}