0

次のコード

$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"}

しかし、3行目を追加すると

$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 は何らかの方法で値を圧縮していると思いますが、取得時に元に戻さないのはなぜですか?

それを解決する方法はありますか?

4

2 に答える 2