2011-11-01 57 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);