2017-12-04 6 views
0

私はオブジェクトのリストをキャッシュしようとしています。それは完全にそれをキャッシュします。キャッシュはJavaスプリングの単一のオブジェクトを退去させます

私がやっていることはキャッシュリストに新しいオブジェクトを置くことです。

cacheManager.getCacheNames().parallelStream().forEach(name -> cacheManager.getCache(name).put("order", order)); 

キャッシュから特定の順序を取り除くために、

cacheManager.getCacheNames().parallelStream().forEach(name -> cacheManager.getCache(name).evict(orderId)); 

しかし、エビクトは私にとっては機能しません。

キャッシュ内の古いオブジェクトを削除/更新するにはどうすればよいですか?目的のオブジェクトを取得して更新するまで、キャッシュを反復する方法はありますか?

ご協力いただければ幸いです。

答えて

0

オブジェクトをキャッシュに入れるために、あなたは"order"

cacheManager.getCacheNames().parallelStream().forEach(name -> cacheManager.getCache(name).put(orderId, order)); 
+0

キャッシュPUTは正常に動作し、文字列値の代わりにorderIdを使用する必要があります。古いエントリは削除されません。 キャッシュに10個の注文エントリがあるとしましょう。その後、私は11エントリが置かれた後。更新されたオブジェクトと古いものとを比較する。 古いものを取り除くにはどうすればよいですか? – Muneeb

+0

@Muneebどのような実際のキャッシュ・プロバイダーを使用していますか? –

+0

@Muneebは、古いものを新しいもので更新するために、同じキーで 'put'メソッドを呼び出す必要があります。 –

関連する問題