0

我有一个 REST API,它使用基于 RxScala 的反应式 scala 驱动程序调用 mongodb。

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

我所有的服务都是异步的并且只返回 observable,知道如何使用 observable 实现缓存吗?

4

2 回答 2

0

缓存在.doOnNext()中,检索为.myFromCacheObservable()。switchIfEmpty (serviceCallOrDbOrWhatever.doOnNext ( mySaveToCache ))

于 2017-12-18T13:21:39.270 回答
-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

尝试这个。应该能帮到你。

于 2017-12-19T03:28:17.120 回答