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

释放双眼,带上耳机,听听看~!

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

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

(本文欢迎转载,尊重他人劳动,转载请注明出处:http://www.voidcn.com/article/p-zetsyqcr-xw.html)

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


1
2
3
4
5
1int EXPIRE_SECONDS = 18000;
2SerializingTranscoder transcoder = new SerializingTranscoder();
3transcoder.setCompressionThreshold(5242880);
4fileCache.set(key, EXPIRE_SECONDS, value, transcoder);
5

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


1
2
3
4
5
1int EXPIRE_SECONDS = 18000;
2BaseSerializingTranscoder transcoder = new BaseSerializingTranscoder();
3transcoder.setCompressionThreshold(5242880);
4client = set(key, EXPIRE_SECONDS, value, transcoder);
5

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


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

(本文欢迎转载,尊重他人劳动,转载请注明出处:http://www.voidcn.com/article/p-zetsyqcr-xw.html

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

.

给TA打赏
共{{data.count}}人
人已打赏
安全运维

WordPress网站专用docker容器环境带Waf

2020-7-18 20:04:44

安全运维

运维安全-Gitlab管理员权限安全思考

2021-9-19 9:16:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索