stringRedisTemplate存储对象案例
时间: 2024-05-15 09:18:14 浏览: 8
可以使用 StringRedisSerializer 序列化对象并将其存储在 Redis 中。具体操作可以参考以下代码:
```
// 创建 StringRedisTemplate
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(redisConnectionFactory);
// 创建 RedisSerializer
RedisSerializer<String> redisSerializer = new StringRedisSerializer();
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
// 设置 StringRedisTemplate 的 key 和 value 的序列化方式
stringRedisTemplate.setKeySerializer(redisSerializer);
stringRedisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
stringRedisTemplate.setHashKeySerializer(redisSerializer);
stringRedisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
// 存储对象
Object obj = new Object();
stringRedisTemplate.opsForValue().set("key", obj);
```
在这个例子中,我们使用了 Jackson2JsonRedisSerializer 将对象转换为 JSON 字符串,并将其存储在 Redis 中。注意,为了能够正确地序列化对象,我们需要为对象定义一个无参构造函数。