如何缓存RxJava/RxScala中的observable

我有一个REST API,它使用基于RxScala的反应式scala驱动程序来调用mongodb。如何缓存RxJava/RxScala中的observable

在我的API控制器或服务层,我需要用缓存来避免通话使用hazelcast(或任何其他缓存工具)

我所有的服务都是异步,只返回观察到的,任何想法如何,我可以给的MongoDB用可观察的方式实现缓存?

回答:

Cache in .doOnNext(),retrieve as .myFromCacheObservable()。 switchIfEmpty(serviceCallOrDbOrWhatever。doOnNext(mySaveToCache))

回答:

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

试试这个。应该帮助你。

以上是 如何缓存RxJava/RxScala中的observable 的全部内容, 来源链接: utcz.com/qa/263561.html

回到顶部