`
weii
  • 浏览: 100710 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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

 

再次试验,成功!!哈哈。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics