2017-12-18 6 views
0

私は、RxScalaに基づいて反応性スカラドライバを使用してmongodbを呼び出すREST APIを持っています。私のAPIコントローラまたはサービス層でRxJava/RxScalaでobservableをキャッシュする方法

、私はhazelcast(またはその他のキャッシュツール)を使用して、MongoDBのために呼び出しを避けるために、キャッシュを使用する必要が

すべての私のサービスは非同期であり、唯一、観察を返し、どのように私ができる任意のアイデア観察可能なキャッシングを実装しますか?

答えて

0

キャッシュ内のキャッシュ.doOnNext()は、.myFromCacheObservable()として取得します。 switchIfEmpty(serviceCallOrDbOrWhatever。doOnNext(mySaveToCache))

-1
Observable<String> stringResponse = response 
.flatMap(resp -> resp.getContent() 
.map(bytes -> new String(bytes))) 
.retry(5) 
.cast(String.class) 
.map(String::trim) 
.cache(); //remember the sequence of items emitted by the Observable and emit the same sequence to future Subscribers 

はこれを試してみてください。あなたを助けなければならない。

関連する問題