高效能Web伺服器Nginx的配置與部署研究(12)應用模組之Memcached做檔案快取時壓縮引起的問題...

鍾超發表於2012-01-05

本文來自: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技術部落格,轉載請註明出處。

.

相關文章