2011-11-01 56 views
0

我想使用memcached來緩存用戶數據。但是由於某些原因,值(用戶數據)在值的大小變得大於或等於100字節時會變成奇怪的字符。Memcached沒有存儲超過100字節的值正確

$m = new Memcached; 
$m->addServer('127.0.0.1', 11211); 

$m->set('key', array('abc' => 'xyz', 'password' => 'gautam', 'abc1' => 'xyz', 'password1' => 'g')); 
// The above works fine 
// a:4:{s:3:"abc";s:3:"xyz";s:8:"password"; s:6:"gautam";s:4:"abc1";s:3:"xyz";s:9:"p assword1";s:1:"g";} 

$m->set('key', array('abc' => 'xyz', 'password' => 'gautam', 'abc1' => 'xyz', 'password1' => 'g')); 
// Data becomes corrupt 
// xœK´2±ª.¶2¶RJLJV²³**«@, 
+¥‚Äââòü¢×ÌJ) =±´$1Ä1«7DÕ`‰Ð 

有人可以幫我解決這個問題。我認爲memcached的價值可能高達1M。

感謝

回答

0

與PHP Memcached的模塊至少,他們做一些壓縮的值超過100個字節。我的Python客戶端沒有預料到這一點,並且每當我點擊一個100多個字母的字符串時就會發瘋。這固定它對我來說:

$m->setOption(Memcached::OPT_COMPRESSION, false);