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