解决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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM