Ehcache

Ehcacheはキャッシュメカニズムを提供します
公式サイトによると、Google App Engineでも使えるようです。そして、標準のMemcacheより高速に動作するみたいです。(CPU使用度は不明)
またJCache(JSR107)をサポートしています。

キャッシュ設定に付いて

詳しくは公式を見てみてください。

必須項目

maxElementsInMemory

メモリ上に保存されるオブジェクトの最大数

maxElementsOnDisk

ディスク上に保存されるオブジェクトの最大数
0だと無制限(デフォルト値です)

eternal

オブジェクトは永続的かどうか、永続的だとタイムアウトが発生しません。
falseの場合、 

overflowToDisk

メモリ上の最大保存数に達したときにディスクに移動させるかどうか


オプション項目

memoryStoreEvictionPolicy

メモリ上の最大値に達したときに、除くオブジェクトを選ぶ方式
デフォルトではLRU
  • LRU (Least Recently Used) - 一番最近使われていないオブジェクト
  • FIFO(First In First Out) - 登録した順番に除く
  • LFU(Less Frequently Used) - 使用頻度が一番少ないものを除く

timeToIdleSeconds

指定した時間オブジェクトにアクセスがないとタイムアウトになる値
ただしeternalがtrueなら無効
デフォルトは0でアクセスがなくてもタイムアウトしない。
つまり、getを呼び出してから指定時間が経過するとタイムアウトになる

timeToLiveSeconds

作成してから指定した時間がたつとタイムアウトになる値
ただしeternalがtrueなら無効
デフォルトは0で期間ではタイムアウトしない。
つまり、putを呼び出してから指定時間経過するとタイムアウトになる(同じ名前のキーで更新になる)

Comments