通常、私は memcached を使用して、使用する Web (または非 Web) アプリケーションを高速化しています。残念ながら、私は memcache をインストールする方法がない状況にあります (これは技術的な制約ではなく、単なる官僚主義です)。
そのため、Web アプリケーションをデプロイするのと同じ jvm 内にあるキャッシュ システムを使用できるかどうかを検討していました。私はそれをチェックして、JCS ( http://commons.apache.org/proper/commons-jcs/ ) を見つけました。
私が必要とするのは:
- キー値ストア
- 値に ttl を設定する機能 (つまり、値は自動的に削除されます)
- キーは文字列になり、値はほとんど何でもかまいませんが、おそらくオブジェクトの文字列表現です
- このキャッシュ システムで使用されるメモリの最大量を定義する機能。
- キャッシュには多くのアイテムが入るわけではありません。大規模なものは必要ありません。
いらないもの
- シャーディング
JCS は良いアプローチでしょうか?
アップデート
最後に guava-cache を使用することになり、これまでのところ問題なく動作します。いくつかの制限があります (たとえば、同じキャッシュ内の異なるキーに対して異なる有効期限を設定することはできないようです)。 、今のところ大丈夫です。