`
Poechant
  • 浏览: 211315 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:23471
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:21381
社区版块
存档分类
最新评论

高性能Web服务器Nginx的配置与部署研究(12)应用模块之Memcached做文件缓存时压缩引起的问题

 
阅读更多

本文来自:CSDN博客专栏《Nginx高性能Web服务器》Poechant技术博客,转载请注明出处。

在上一篇文章中,提到的Nginx的Memcached模块应用场景,主要是作为文件缓存。然后就发现了一个问题,当以字节数组方式缓存较大的文件时,缓存数据会被压缩,从而在读取的时候出现问题。


(本文欢迎转载,尊重他人劳动,转载请注明出处:http://blog.csdn.net/poechant/article/details/7177603


解决方法很简单,就是在MemcachedClient端设置压缩的阈值。如果你使用的是net.spy.memcached的API,则可以如下设置:

int EXPIRE_SECONDS = 18000;
SerializingTranscoder transcoder = new SerializingTranscoder();
transcoder.setCompressionThreshold(5242880);
fileCache.set(key, EXPIRE_SECONDS, value, transcoder);


如果你使用的是net.rubyeye.xmemcached的API,则可以如下设置:

int EXPIRE_SECONDS = 18000;
BaseSerializingTranscoder transcoder = new BaseSerializingTranscoder();
transcoder.setCompressionThreshold(5242880);
client = set(key, EXPIRE_SECONDS, value, transcoder);


如果你使用的是danga.MemCached的API,则可以如下设置:

int EXPIRE_SECONDS = 18000;
MemCachedClient.setCompressThreshold(5242880);
MemCachedClient.set(key, value, new Date(System.currentTimeMillis() + EXPIRE_SECONDS * 1000L));

(本文欢迎转载,尊重他人劳动,转载请注明出处:http://blog.csdn.net/poechant/article/details/7177603

本文来自:CSDN博客专栏《Nginx高性能Web服务器》Poechant技术博客,转载请注明出处。

.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics