reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final Flux<T> cache(int history, Duration ttl, Scheduler timer) {
		return replay(history, ttl, timer).autoConnect();
	}
public final Flux<T> cache(int history, Duration ttl, Scheduler timer) {
		return replay(history, ttl, timer).autoConnect();
	}
Turn this {@link Flux} into a hot source and cache last emitted signals for further
{@link Subscriber}. Will retain up to the given history size and apply a per-item expiry
timeout.
<p>
Completion and Error will also be replayed until {@code ttl} triggers in which case
the next {@link Subscriber} will start over a new subscription.
<p>
<img class="marble" src="doc-files/marbles/cacheWithTtlAndMaxLimitForFlux.svg"
alt="">

@param history number of elements retained in cache
@param ttl Time-to-live for each cached item and post termination.
@param timer the {@link Scheduler} on which to measure the duration.

@return a replaying {@link Flux}