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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值