首页 > 代码库 > 高性能Web服务器Nginx的配置与部署研究(12)应用模块之Memcached做文件缓存时压缩引起的问题
高性能Web服务器Nginx的配置与部署研究(12)应用模块之Memcached做文件缓存时压缩引起的问题
在上一篇文章中,提到的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));
高性能Web服务器Nginx的配置与部署研究(12)应用模块之Memcached做文件缓存时压缩引起的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。