Jfinal中RedisCache去存值的时候乱码

用RedisCache,其实好像不是jfinal的事情,是jedis的接口,我去设置key和值或者cacheName前面总会带一个二进制数据,我把他翻译成text就是乱码,不知道是为什么

blob.png

评论区

JFinal

2017-08-06 16:40

这个不是乱码,是 fst 将数据序列化以后有一个标识性的前缀,以便于做反向序列化

通过 redisPlugin.setSerializer(...) 可以切换序列化实现类

yjjdick1990

2017-08-06 17:47

@JFinal 这样的话我的redisDestopManager中很难观察缓存对应的值是不是我想要的,这个怎么办?

JFinal

2017-08-07 10:41

@yjjdick1990 自己写一个简单的 web 界面来实现缓存观察的功能,读取数据也用 fst 反序列化就没问题了

试着查看一下 redisDesktopManager 这个工具可不可以指定反序列化与序列化实现类,扩展一下是最好的

yjjdick1990

2017-09-04 21:08

我之前一直不知道这个序列化是干嘛用的,我后来看了ehcache他可以存java bean这个把我吓了一跳居然还能这么玩
我们公司都是直接存字符串的,村字符串的好处显而易见,可以清楚的观察到自己的在缓存中的数据状态,可以校验自己的功能对缓存的存取是否正确,但是使用起来十分不方便
但是有了序列化二进制数据就可以存bean了,存bean的话实验了一下他序列化的过程很费时间,性能好像不太好,而且不容易在缓存中观察出数据变化和正确性,但是用起来真的挺爽的

热门反馈

扫码入社