質問はすべて私がCacheBuilderを使用したいと言っていますが、私の値は非同期的に引き出されています。 CacheLoaderは必須ではないため、MapMakerではこれまでと同じように動作しました。今私はこれをハックすることができるかどうか、または非推奨の代替手段があるかどうかを知りたいと思います。ありがとうございました。誰かがGuavaのCacheLoaderを非同期的に使用する方法
5
A
答えて
5
質問しておきたいことは、「CacheLoaderを指定せずにCacheBuilderを使用するにはどうすればよいですか?その場合、Guavaリリース11.0でこれがサポートされます。一方のCacheLoaderのビルド()メソッドは、すでに(今朝のとおり)トランクにチェックされている:
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheBuilder.html
+0
はい、特にデータが非同期的に取得され、有効なユースケースと考えられるプロセスで発生します。あなたに感謝します。 –
+0
ああ、もしあなたが望むものが非同期CacheLoaderなら、それは私たちが話していることですが、すぐには起こりません... – fry
1
一つの方法は、ご希望の出力として汎用パラメータKとVで作るために次のようになります。
LoadingCache<K, ListenableFuture<V>> values = CacheBuilder.newBuilder()
.build(
new CacheLoader<K, ListenableFuture<V>>() {
public ListenableFuture<V> load(K key) {
/* Get your future */
}
});
関連する問題
- 1. Guava CacheLoaderコールバックメソッドの模擬
- 2. Spark Cassandra NoClassDefFoundError guava/cache/CacheLoader
- 3. Guava CacheLoaderがカスタム例外をスロー&キャッチ
- 4. 非同期の値を同期的に使用する
- 5. スレッド "main"の例外java.lang.NoClassDefFoundError:org/spark_project/guava/cache/CacheLoader
- 6. Google GuavaのCacheLoader loadAll()vs reload()セマンティクス
- 7. 非同期に使用されるHttpListenerが同期的に動作する
- 8. コアデータのManagedObjectContext.ExecuteFetchRequestを非同期で非同期にする方法
- 9. ASP.NET Webフォーム - 非同期的にWCF非同期メソッドを呼び出す方法
- 10. UICollectionViewを非同期的に使用してUITableViewCellをコンフィグレーションする方法
- 11. アンドロイドのオーディオストリーミングに非同期タスクを使用する方法
- 12. Google GuavaのTreeMultimapの同期バージョンを作成する方法
- 13. ノードjsで非同期関数を同期的に実行する方法
- 14. RxJavaで非同期メソッドを同期する方法は? RxJavaの非同期ウォーターフォール
- 15. PHPは非同期的にソケットを使用できますか?
- 16. memcachedを非同期的にnettyにアクセスする方法
- 17. UIColliectionViewのcollectionView:didDeselectItemAtIndexPathメソッドを非同期で使用する方法
- 18. XmlHttpRequestを非同期の方法で使用する
- 19. JavaScriptを非同期にする方法
- 20. djangoでpostgreクエリを非同期的に実行する方法
- 21. 配列要素を非同期的にプッシュする方法
- 22. javascriptを使用する非同期に
- 23. C#非同期操作を強制的に同期させる方法
- 24. PHPで非同期タイマーを使用する方法は?
- 25. Vue.js:非同期コンポーネントでafterEnterフックを使用する方法
- 26. Simpy - フィルタストアを非同期で使用する方法
- 27. `app.get`コールバックで非同期応答値を使用する方法
- 28. リポジトリで非同期メソッド内でトランザクションスコープを使用する方法
- 29. 非同期で_.someを使用する方法
- 30. akka-streamsマップで非同期ドライバを使用する方法mapAsync
質問は本当にすべてを言っていません。あなたは何をしていたのか、キャッシュがあなたにとってうまくいかない理由をより明確に説明できますか? – ColinD
私は 'MapMaker'を使って非コンピューティングの' ConcurrentMap'を作っていて、 'map.put'を使ってそれを埋め込んでいたと思います。 Guava 10.0.1では、 'cache.asMap()。put'を使用して' Cache'を使ってこれを行うことができます。 – Ray
@ColinD:ここでの問題は、データセットを非同期的に穴としてプルする必要があることですキャッシュを設定し、コンピューティングは穴のセットを必要とします、私はこのようにオンデマンドでキャッシュを使用することはできません。 –