長期閱讀器,第一次海報。node.js中的Memcache正在返回大小不一的對象
我在OS X 10.7上使用節點v0.6.6。我還沒有在任何其他環境中嘗試過。我使用該客戶端:https://github.com/elbart/node-memcache
當我使用下面的代碼,data
隨機包含幾個字節(如console.log()
報道),導致這一形象:http://imgur.com/NuaK4(和許多其他JPG做到這一點)。 favicon似乎確定和HTML/CSS/JavaScript的一切工作。
換句話說:如果我要求圖像,約70%的時間圖像正確返回;另外30% - data
報告了幾個字節,並且圖像在瀏覽器中顯示爲損壞。
client.get(key, function(err, data) {
if (err) throw err;
if (data) {
res.writeHead(200, {'Content-Type': type, 'Content-Length': data.length});
console.log('Sending with length: ' + data.length);
res.end(data, 'binary');
}
});
我一直在搞亂這幾個小時,我可以誠實地說,我很爲難。我希望有人能以我的方式向我展示錯誤。我試圖搜索是否有一種方法來正確存儲二進制數據與memcache,但沒有相關的信息。
額外信息:它發生在各種JPG圖像;所有圖像的文件大小都在100-300KB或更少。例如,一個圖像報告了以下大小:286442,286443,286441.如果我直接從磁盤讀取數據並將其與節點一起提供,則不會發生此問題。
在此先感謝。
編輯我更新了我的節點版本和問題仍然存在。實際測試源照片和損壞的照片可以在我的評論下面找到(stackoverflow不允許更多的鏈接)。
你能鏈接到相同的圖片的參考?另外,嘗試升級你的節點版本,聽起來像它可能是節點如何處理緩衝區的錯誤? – nak 2012-03-28 05:50:47
感謝您的回覆。我更新了我的節點版本並且問題持續存在。實際測試來源照片:http://imgur.com/XUTf2;實際測試的腐敗照片:http://imgur.com/NuaK4 – joneszach 2012-03-28 06:09:08
我在2個文件上運行了'vbindiff',這裏是腐敗開始的地方:http://i.imgur.com/gqTKW.png ...和方式它的腐敗排除了我唯一的想法。可能是memcache中的一個錯誤。我從來沒有使用它,我可以建議嘗試Redis或更新您的Memcache,如果有新版本。抱歉,我無法提供更多幫助! – nak 2012-03-28 06:23:22