2016-08-15 3 views
0

特定のエンティティ製品のキャッシュ構成をテストしました。関連リンクの説明hereMoquiの特定のエンティティのキ​​ャッシュ構成

私は問題がある

<cache name="entity.record.one.mantle.product.Product" expire-time-idle="60" expire-time-live="600"/> 

enter image description here

としてキャッシュ項目の設定を持っている:それはCacheListページに表示されていないよう

  • 期限が切れる時、ライブが更新されていないようだが、ツールアプリの

  • 製品名が60秒(実際にはテスト< 10秒)に更新されると、アイドルまでの有効期限は60秒に設定されますが、キャッシュから取得した製品は更新された製品名を返します。

2番目の動作が望ましいかどうかはわかりません。おそらく、製品のアップデートによって、フレームワークによってキャッシュがクリアされる可能性があります。それなら、それはすばらしい特徴です。そうでなければ、それは問題であるはずです、結果がキャッシュから来ていないことを意味します。

+0

私はテストを実行し、それは第二のものが望ましい動作であるように思われます。それが更新されると、キャッシュが削除され、次にアクセスが失敗し、新しい更新値が取得されます。 –

答えて

1

オンポイント1:アイドルまたはライブのいずれかの有効期限が1つのみで、両方が指定されている場合は、アイドルの有効期限が使用されます。基本的なキャッシュには、タイプ(アイドル、ライブ)と時間(秒単位)を持つ1つの有効期限ポリシーがあります。

オンポイント2:はい、これは予想される動作です。キャッシュがキャッシュされている場合はレコードが更新され、キャッシュされたビューエンティティおよび値のリストさえも自動キャッシュクリアは常に機能するはずです。これを処理するためのかなり精巧なコードと、さまざまなシナリオで動作することを確認するためのさまざまな自動テストがあります。

複数のアプリケーションサーバーを展開する場合、どのサーバーのレコード(エンティティ値)が変更されても、分散トピックを使用するmoqui-hazelcastコンポーネントを使用することが、現在推奨されています各サーバーがキャッシュされた内容に基づいて自動キャッシュ・クリアに使用できる更新されたレコードに関するメッセージを送信します。

関連する問題