RxJava- Cache () é o mesmo que replay ()?

Fiquei me perguntando se havia umcache() operador que poderia armazenar em cache x número de emissões, mas também expirá-las após um intervalo de tempo especificado (por exemplo, 1 minuto). Eu estava procurando por algo como ...

Observable<ImmutableList<MyType>> cachedList = otherObservable
    .cache(1, 1, TimeUnit.MINUTES); 

Isso armazenaria em cache um item, mas expiraria e limparia o cache após um minuto.

Eu fiz algumas pesquisas e encontrei orepetição operador. Parecia que atenderia a essa necessidade, mas tenho algumas perguntas. Por que está quente e precisa estar conectado? Isso o torna diferente do que ocache() operador? Eu conheço ocache() imita um assunto, mas não requer conexão.

questionAnswers(1)

yourAnswerToTheQuestion