playorm でキャッシュがどのように機能するかについて詳しく知りたいです。どんな指針も素晴らしいでしょう。また: 1. Playorm でのキャッシングを検証する利用可能なパフォーマンス数値がある場合。2. 必要な構成/設定はありますか?
1 に答える
playormでのキャッシングは、休止状態でのキャッシングと同様です。実際には、書き込みキャッシュと読み取りキャッシュと呼ばれる2つのキャッシュが実行されています。
書き込みキャッシュとは、put(Object entity)、put(Object entity)などを実行するときに、それらのputをNoSqlWriteCacheImplというクラスにキャッシュすることです。フラッシュを呼び出すと、このキャッシュは空になり、クリアされます。フラッシュせずにこのキャッシュをクリアする方法はありません。clearを呼び出しても、このキャッシュはクリアされません。flushを呼び出すだけで、何かを書きたくない場合はputを実行しないでください。このキャッシュはPERNoSqlEntityManagerです。
次に、読み取りキャッシュはNoSqlReadCacheImplというクラスにあります。このキャッシュは、hibernateの第1レベルのキャッシュと同じであり、Hibernateと同じようにPERNoSqlEntityManagerです。内容を読み込むと、このレイヤーを通過してキャッシュされ、再度読み込むと、nosqlデータベースに移動する代わりに、キャッシュから読み込まれます。良い例は、Tシャツを取得してからUser(bobなど)を取得してから、他のオブジェクトを取得して、たまたまBobであるUserを取得することです。これにより、キャッシュヒットが発生し、1つよりも頻繁に発生します。彼らはものを照会するので期待します。注:NoSqlQueryを実行する場合、NoSqlReadCacheは完全に回避されます!!!! これは、find(クラスc、リストキー)およびfind(クラスc、オブジェクトキー)メソッドでのみ使用されます。