2017-12-18 5 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 

이보십시오. 너를 도와 줘야 해.