$memcached = new Memcached();
$memcached->addServer('127.0.0.1', 11211);
$data = json_encode(array(
'string1' => md5(time()),
'string2' => md5(time())
));
var_dump($memcached->set('foo', $data, 300));
工作就好
# telnet 127.0.0.1 11211
# get foo
VALUE foo 0 91
{"string1":"884e036fd865cac1ef26b5f7a920c2c2","string2":"884e036fd865cac1ef26b5f7a920c2c2"}
,但是當我加入三線
$data = json_encode(array(
'string1' => md5(time()),
'string2' => md5(time()),
'string3' => md5(time())
));
var_dump($memcached->set('foo', $data, 300));
它產生以下
# get foo
VALUE foo 16 63
x«V*.)ÊÌK7T²RJ322J11KL6M4I4OM¶°H57·4716I5Oµ0NSÒ*6"E±11krW&z
我猜memcached是以某種方式壓縮這個值,但是爲什麼它不是在恢復它呢?
任何想法如何解決它?
如何解決?你有沒有試圖在PHP中檢索它? – zerkms
最後我需要一個JSON字符串。目前它不是JSON,你可以看到。 – Aley
您是否嘗試過使用PHP重新獲取數據? – Putr