memcacheはsessionの代わりに使えるか | sola's note

sola's note

日ごろのメモを書いていきます。何か新しいものを作るために。

前回Google App Engineでマジでセッションが効かない
でGAE/Jでセッションだmemcacheだ書いたけど
そのmemcacheについて少しわかったのでメモ。

前回はsessionに似ているやつがある~
なんて書いたけど、以下の点が明確に違うことが判明


memcacheはインスタンスが異なる場合でも持つ値が同じになる


どういうことかというと、
memcacheを使用する時は

MemcacheService memcacheService = MemcacheServiceFactory.getMemcacheService();

でインスタンスを生成するわけだけど、
同じアプリケーション内でこれを実行した場合、
実行するクラスが異なっても、インスタンスが保持するキーと値の組み合わせは共有される。

悪く言うなら別々に保持できない。
共有したくないデータを扱う時にはそのままでは使えない。

インスタンス毎に値を持つためのクラスも存在するみたいだけど、
それはまだ使ってないからノータッチで。

そもそもインスタンス毎に値を持たせるとした場合、
こいつをわざわざ使う効果ってどれくらいあるのだろうか。