spring jedisTemplate操作出现key和value值出现\xac字符

最近在做手艺网的时候,用spring data对redis的支持发现了一个奇怪的现象,通过redisTemplate下的opsForHash方法存储hash类型的值,操作成功以后,去redis控制台显示keys * 的时候,发现一个奇怪的现象,插入的hash类型的key前面会有一堆的\xac\xed\x00\x05t 这种东西,无论在key中还是在value中都存在,后来跟踪了一下源码,最后序列化key值和value值的是DefaultSerializer这个类,其中关键代码如下

ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
		objectOutputStream.writeObject(object);
		objectOutputStream.flush();


其中object就是key值或者value值,所以归根到底是ObjectOutputStream写入的问题,有兴趣的读者可以研究一下ObjectOutputStream的源码。

猜你喜欢

转载自nonobaba.iteye.com/blog/2222682