ドキュメントを読んでみる。(その3)
Configuration
oscache.properties ファイルによる設定の説明。
cache.memory
- キャッシュ領域としてメモリを使用するかどうかの指定。
- true/false (デフォルトは true)
cache.capacity
- キャッシュが保持可能な最大要素数の指定。
- 整数。負の値は無制限として扱われる。 (デフォルトは無制限)
cache.algorithm
- デフォルトのキャッシュアルゴリズムの指定。アルゴリズムを指定する場合、キャッシュサイズは必須となる。キャッシュサイズが指定されなかった場合、この設定にかかわらず、要素数無制限となる。サイズを指定してアルゴリズムを指定しなかった場合、com.opensymphony.oscache.base.algorithm.LRUCache が使用される。以下、現在提供されているアルゴリズム。
- com.opensymphony.oscache.base.algorithm.LRUCache - 最も最近に使われていないものから退避される。caceh.capacityが指定された場合のデフォルト。
- com.opensymphony.oscache.base.algorithm.FIFOCache - 最初に入ったものから優先して退避される。
- com.opensymphony.oscache.base.algorithm.UnlimitedCache - キャッシュ内容は退避されない。cache.capacity が未指定の場合のデフォルト。
cache.blocking
cache.unlimited.disk
- ディスクキャッシュが無制限かどうかの指定。デフォルトはfalse。この場合、ディスクキャッシュのエントリ数の上限は、cache.capacity の値と同数になる。
cache.persistence.class
- キャッシュエントリの永続化に使用するクラスの指定。このクラスは、PersistenceListener インタフェースを実装する必要がある。OSCache のディストリビューションでは、ファイルシステムベースの永続化を用意している。このプロパティを com.opensymphony.oscache.plugins.diskpersistence.HashDiskPersistenceListener にセットすると、その実装を利用できる。JDBC や LDAP 等を使用する独自実装を指定することもできる。
- HashDiskPersistenceListenerでは、エントリのファイル名を生成するために、エントリの toString() をハッシュしたもを使用する。読むことが可能なファイル名を使用したい場合は、親の DiskPersistenceListener は使用可能だが、不正文字や長いファイル名などの問題が残る。
- HashDiskPersistenceListener と DiskPersistenceListener は、ディスクの何処にファイルを保存するかを知るために、cache.path プロパティが必要。
cache.path
cache.persistence.overflow.only
- 永続化が、メモリキャッシュが溢れるまで行われないことの指定。下位互換性のため、デフォルト値は false になっているが、メモリキャッシュが有効の場合は、true にすることが推奨される。この指定は、キャッシュの振る舞いを大幅に変え、永続化されたキャッシュはメモリ上のキャッシュと異なるようになる。
cache.event.listeners
- コンマ区切りの FQCN で、各クラスは書きのインタフェースを実装している必要がある。
- CacheEntryEventListener - キャッシュの add/update/flush/remove イベントを受け取る。
- CacheMapAccessEventListener - キャッシュアクセスイベントを受け取る。これにより、統計情報を監視することが可能になり、キャッシュがどれだけ効果的に動作しているかを確認することが可能になる。
- デフォルトではリスナーは設定されていないが、OSCacheが提供するいくつかのリスナーを使用することが可能。
- com.opensymphony.oscache.plugins.clustersupport.BroadcastingCacheEventListener - クラスタサポート。これを使用すると、LAN上のほかのOSCacheに flush イベントを送信できる。
- com.opensymphony.oscache.extra.CacheEntryEventListenerImpl - キャッシュのライフサイクル中のすべてのエントリイベントの数を保持する。
- com.opensymphony.oscache.extra.CacheMapAccessEventListenerImpl - キャッシュインスタンス上でのキャッシュマップのイベント(ヒット、ミス、古くなったエントリへのヒット)数を保持する。
cache.key
- キャッシュオブジェクトをアプリケーションおよびセッションスコープに保存するための ServletCacheAdministrator で使用されるキー。デフォルト値は "__oscache_cache"。この値をコードから使用したい場合は、com.opensymphony.oscache.web.ServletCacheAdministrator.DEFAULT_CACHE_KEY を参照すればよい。
cache.use.host.domain.in.key
- サーバーが複数のホストとして設定されている場合、キャッシュキーにホスト名を指定したい場合がある。もしそうならば、このプロパティを true にするとよい。デフォルト値は false。
cache.cluster.properties
- clusterのオプション設定。デフォルトは以下。
UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;\ mcast_send_buf_size=150000;mcast_recv_buf_size=80000):\ PING(timeout=2000;num_initial_members=3):\ MERGE2(min_interval=5000;max_interval=10000):\ FD_SOCK:VERIFY_SUSPECT(timeout=1500):\ pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;max_xmit_size=8192):\ UNICAST(timeout=300,600,1200,2400):\ pbcast.STABLE(desired_avg_gossip=20000):\ FRAG(frag_size=8096;down_thread=false;up_thread=false):\ pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true)