में memcached समर्थित रेल कैश (दल्ली मणि) से मूल्यों को संपीड़ित मैं एक रेल अनुप्रयोग है कि दल्ली मणि (https://github.com/mperham/dalli) के माध्यम से memcached में डेटा कैश कर रहा है है।कैसे डिकोड करने के लिए/Node.js
मैं इस कैश की सामग्री को Node.js. से पढ़ना चाहूंगा। मैं mode मॉड्यूल का उपयोग Node.js. में memcached के साथ इंटरफ़ेस करने के लिए कर रहा हूँ।
जिस समस्या में मैं चल रहा हूं वह एन्कोडिंग और संपीड़न के साथ है। दल्ली Zlib::Deflate.deflate(data)
(https://github.com/mperham/dalli/blob/master/lib/dalli/compressor.rb) का उपयोग करता है। जब मैं Node.js से बढ़ करने का प्रयास करते समय मुझे zlib मॉड्यूल के साथ बढ़ाने के लिए प्रयास में कोई त्रुटि मिलती है:
config.cache_store = :dalli_store, memcached_server, {compress: true}
और प्रासंगिक Node.js:
{ [Error: incorrect header check] errno: -3, code: 'Z_DATA_ERROR' }
यहाँ प्रासंगिक रूबी/रेल कोड है कोड:
client = new Memcached.Client(MEMCACHED_HOSTNAME, Memcached.Adapter.raw);
client.get(key, function (err, response) {
var data = response[key];
zlib.inflate(data.buffer, function (err, buf) {
console.log(err, buf);
});
});
बफ़र memcached का स्ट्रिंग मान से वापस आता है इस तरह दिखता है:
'\u0004\b[\u0015i\u0006i\u0007i\bi\ti\ni\u000bi\fi\ri\u000ei\u000fi\u0010i\u0011i\u0012i\u0014i\u0015i\u0016'
मूल्य है कि मैं बढ़ा-चढ़ाकर के बाद उम्मीद कर रहा हूँ है की तरह कुछ: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17]
आप कभी भी इस समस्या एक काम के आसपास का समाधान या मिला? – Jason
क्या आपने इसके बजाय 'zlib.inflateRaw' कोशिश की है? @wurde – ErvalhouS
क्या आप एक उत्तर में दिखा सकते हैं? – wurde