解决memcached的内容为乱码的现象

最近搞一个技术实现:将页面的html源码为value,将页面的url作为key保存到memcached里。然后利用nginx+memcached模块进行访问。可以大大提高web系统的性能和速度。

实现的过程中遇到一个困难:从memcached里取出来的value有时候是乱码。经过大量的试验,我发现了一个规律:页面大小不超过64k的,取出来的值不存在乱码问题。一旦超过这个值,就变成了乱码。看来64k是个很敏感的大小。但是memcached的存放单个值的大小最大值是1M。64kb还小的很啊。于是,我试试直接用memcached的服务端命令把600kb的value存入到memcached里,结果是成功了。说明问题是在客户端了。

我查了一下memcached的客户端(memcached client for java),其中有个方法setCompressEnable(boolean compressEnable),意思是超过多少大小(通过这个setCompressThreshold(long compressThreshold)方法设置大小)就进行压缩。

于是我设置了一下mcc.setCompressEnable(false);

再次试验,成功

 

 

http://weii.iteye.com/blog/620207

posted on   jay.windows  阅读(3337)  评论(0编辑  收藏  举报

导航

< 2012年10月 >
30 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示