我在Ubuntu 11.10上使用Redis 2.2.11和Node,並且我保存了一個字符串,但它被作爲緩衝區返回。Redis在某些操作系統上將字符串保存爲緩衝區,而不是其他操作系統?
id = 1234;
console.log('data', data);
client.hmset("user:" + id, "name", data['name']);
client.hmget('user:' + id, "name", function(err, d) {
console.log('data retrieved', d);
});
這將產生在控制檯上執行以下操作:
data { name: 'RealServer' }
data retrieved [ <Buffer 41 6e 6e 61 52 65 61 6c 53 65 72 76 65 72> ]
爲什麼要在一個字符串,出來作爲緩衝? 緩衝區使調試非常困難!
在我的本地設置(使用Redis 2.2.14的MacOS 10.6)上,檢索到的數據打印爲字符串,很好。我想找到一個可以繼續在兩個系統上工作的解決方案。
更新:它也工作正常,沒有在CentOS 5.7指定的編碼。這是特定於Ubuntu的東西嗎?是否有全系統修復?
謝謝!但是,爲什麼在我的MacOS系統上不會發生這種情況?是否有我可以使用的全局編碼選項? – flossfan
如果沒有在CentOS 5.7上指定編碼,它也可以正常工作。這是OS範圍內的事情嗎?如果可以,我如何在Ubuntu中更改它? – flossfan
我會說只是指定編碼更好,這樣它就能保證在所有平臺上都能正常工作。 – DHamrick