問題タブ [spring-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
363 参照

java - Spring EL での配列のコンテンツの使用

Spring のキャッシング機能を使用しています。次のメソッドを呼び出すときに、配列内のすべての値のキャッシュを削除したいと考えていますreceiptObject.resolverIds

ここでは最初の要素のみを使用しましたが、配列内のすべての要素に対してこれを一般化したいと考えています。どうすればいいのですか?

0 投票する
2 に答える
9693 参照

java - EhCache : diskStore パス ディレクトリが作成されないのはなぜですか?

私はehcacheで作業しています。Spring @Service メソッドをキャッシュしています:

Spring 構成スニペットは次のとおりです。

これが私のehcache構成です。

Spring @Controller からサービス メソッド getAllDatas を呼び出すと、メソッドがキャッシュされ、2 回目の呼び出しでキャッシュ内の結果ストアが取得されます。私が理解していないのは<diskStore path="C:/TEMP/ehcache"/>、ehcache.xml で指定が見つからないことです。だから私は2つの質問があります:

質問 1:「C:/TEMP/ehcache」ディレクトリが作成されないのはなぜですか?

質問 2:サービスの結果はどこにキャッシュされますか?

0 投票する
4 に答える
7243 参照

java - 複数のスレッドからアクセスされた場合、Spring @Cacheable はブロックされますか?

マークされたメソッド@Cacheableが完了するまでに 10 分かかり、2 つのスレッド t1、t2 がメソッドにアクセスする場合。

t1 は時刻 0 にアクセスします (キャッシュ メソッドが初めて実行されます) t2 は時刻 t1+5mins にアクセスします

@Cacheableこれは、t1 が既に操作を開始しており、5 分以内に完了する予定であるため (5 分間実行されているため) 、t2 が約 5 分間データにアクセスしないことを意味しますか、それとも新しい呼び出し@Cacheableが t2 によって呼び出されるのでしょうか?

0 投票する
1 に答える
2957 参照

java - @Cacheable キーが読み込まれるように CacheLoader を実装する方法

インライン リフレッシュを使用して独自のキャッシュ ローダーを実装しようとしています。ロードされたこのキャッシュは RefreshAheadCacheFactory を使用しています

で説明されているように

http://terracotta.org/documentation/4.1/bigmemorymax/api/refresh-ahead#scheduled-refresh-ahead

&

http://www.ehcache.org/generated/2.9.0/html/ehc-all/#page/Ehcache_Documentation_Set%2Fco-dec_creating_a_decorator_2.html

自分のキーを追加しようとするとエラーが発生します:

エラーは:

キー「myKey」をキャッシュに追加するにはどうすればよいですか?

カスタム キャッシュ ローダーの設定が間違っていると思います。loadAll メソッドの実装方法。ここに私の実装があります:

この HashMap にキー "myKey" を含める必要がありますか?

このメソッドをカスタマイズすると:

}

同じエラーが発生します。

すべてのコードと構成:

spring-ehcache.xml :

my-ehcache.xml :


0 投票する
1 に答える
468 参照

spring - Iterable コレクションからの CacheEvict

私はこのような2つの方法を持っています:

まず、ユーザーのデポジットを受け取ります

次に、リレーションシップとして 1 つのデポジットを含むタスク エンティティを保存するときに、id によってキャッシュ デポジットから削除したい:

(スプリングデータインターフェース)

しかし、それはうまくいきません。

0 投票する
1 に答える
21584 参照

java - Spring KeyGenerator が機能しない一意のキャッシュ キーを生成する

@Cacheable注釈を使用してSpringでキャッシュキーが衝突しているときに問題が発生しています。たとえば、次の 2 つの方法を使用します。

これが私のキャッシュ構成で、 akeyGeneratorcacheManagerBeanを追加しました。

何らかの理由で、キャッシュ キーは常にnameメソッドの結果ではなく、メソッドのパラメーターに設定されるためkeyGenerator.generate(..)、両方のメソッドが同じキャッシュ結果を返すことになります。

各注釈でキーを手動で指定できることはわかっていますが、@Cacheableキャッシュしたいすべてのメソッドについては少し広範に思えます。

編集

keyGenerator注釈内のオプションを@CacheableBean の名前に設定すると、次のように問題が解決することに気付きました。

また、クラスの注釈にkeyGeneratorオプションを設定すると、問題も解決します。@CacheConfigただし、これは必要ではないようです。何か不足していますか?