こんにちは。
職人見習いの木村です。

今回、PHPでmemcachedに保存した値を、memcached client for java で取得する必要がある案件があり、PHPでmemcachedに保存した値を設定したキーでgetしたのですが、nullが返ってきてしまう現象が起こりました。

Javaで保存した場合は、問題なく取得することが出来るのですが、PHPで保存した場合はうまく取得することが出来ませんでした。

ソースは下記のようになります。

MemCachedClient mcc = new MemcachedClient();
mcc.get('PHPでsetしたkey'): //nullが返ってきてしまう
mcc.get('javaでsetしたkey'); //setした値が返ってくる

解決策としましては、他言語でsetした値をmemcached client for javaで取得する場合は、
以下の一文を加えなかればいけないようです。

mcc.setPrimitiveAsString(true);

これにより、PHPでmemcachedに保存した値を取得することができました。

※この記事は、なかの人(moresmileman)が書いています。