7

EhCache統計を調べていると、次の図が表示されます。

CacheMisses:75977
CacheHits:38151

InMemoryCacheMisses:4843
InMemoryCacheHits:38151

「メモリ」が唯一のストアであり、オフヒープやディスクストレージはありません(overflowToDisk="false", diskPersistent="false")。では、これら2つはどういう意味ですか?それらは同じであると思いますが(ヒットは同じです)、ミスは大きく異なります。

4

2 に答える 2

1

nullキャッシュに値のがいくつかありElementますか? Element(Ehcache ではs に値を格納できますがnull、それに関する制約があるかどうかはわかりません)。

バージョン 2.5.3 のCache.searchInStoreWithStats(Object key)のコードを見ると、バグがあるようです。

  • インクリメントするかどうかを決定するテストは導関数をinMemoryMisses使用します。containsKey()
  • 一方、インクリメントのテストは導関数cacheMissesの結果に対して null チェックを行いますget()

InMemoryStoreしたがって、 に存在するがnull値を持つキーを検索するたびに、は増加しますが は増加cacheMissesしませんinMemoryMisses

だから、私は完全にオフかもしれませんが、それは私にとって正しいにおいがします. どう思いますか?

編集:私の解釈が間違っていたことに気付きました - Element を null にすることはできません (ただし、その「値」は null にすることができます)。他のアイデアをトリガーする場合に備えて、とにかくこの回答をここに残します

于 2012-08-15T09:01:14.873 に答える
0

ehcache 2.5+ を使用していると思います。diskpersistance を true に設定したキャッシュ構成がある場合 (overflowtodisk は false)、ディスクに書き込みます。では、ディスクヒットもある可能性がありますか?統計でそれらを表示できます。diskpersistance は true ですか? キャッシュ構成を投稿してください

于 2012-08-10T10:44:41.863 に答える