前回Google App Engineでマジでセッションが効かない
でGAE/Jでセッションだmemcacheだ書いたけど
そのmemcacheについて少しわかったのでメモ。
前回はsessionに似ているやつがある~
なんて書いたけど、以下の点が明確に違うことが判明
memcacheはインスタンスが異なる場合でも持つ値が同じになる
どういうことかというと、
memcacheを使用する時は
MemcacheService memcacheService = MemcacheServiceFactory.getMemcacheService();
でインスタンスを生成するわけだけど、
同じアプリケーション内でこれを実行した場合、
実行するクラスが異なっても、インスタンスが保持するキーと値の組み合わせは共有される。
悪く言うなら別々に保持できない。
共有したくないデータを扱う時にはそのままでは使えない。
インスタンス毎に値を持つためのクラスも存在するみたいだけど、
それはまだ使ってないからノータッチで。
そもそもインスタンス毎に値を持たせるとした場合、
こいつをわざわざ使う効果ってどれくらいあるのだろうか。