我正在尝试使用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 :(得分:1)
您需要检查配置,尝试使用此链接获取memcached的配置选项:
http://code.google.com/p/memcached/wiki/NewConfiguringServer
答案 1 :(得分:0)
至少在PHP Memcached模块中,它们对超过100字节的值进行某种压缩。我的Python客户端没有想到这一点,并且每当我点击100多个字母字符串时就会发疯。这为我解决了这个问题:
$m->setOption(Memcached::OPT_COMPRESSION, false);