0
當使用StringRedisSerializer存儲哈希值時,我遇到了ClassCastException異常。如果刪除了非字符串字段'age',那麼它可以存儲到redis中。當使用StringRedisSerializer作爲HashValueSerializer時,不能存儲非字符串對象
Demo demo = new Demo();
demo.setName("DemoCache_jsonSerializer");
// non-string field
demo.setAge(111);
// set stringSerializer
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
//exception here: java.lang.Integer cannot be cast to java.lang.String
redisTemplate.opsForHash().putAll("testKey",
mapper.toHash(demo));
我知道,如果我改變jsonserializer它會工作,但我的問題是 如何保持它與StringRedisSerializer工作,並能夠存儲具有非字符串字段