Implications of persist option of "disk" during caching?

Trying to understand the tradeoffs of the different persist options:

From: st.cache_data - Streamlit Docs

Is my understanding correct, that I should persist to “disk” when I know multiple end users are using the application (to avoid initial run time for each). By default, it would cache to individual user’s local storage.

Re: disk cache expiration

  1. Will every restart of the app recreate the cache?
  2. As we can’t set TTL on it, if an app is not restarting is the cache not deleted? Asking as data changes underneath the hood but won’t be reflected.
  3. Do you have to setup scripts to delete the cache regularly?

No, that cache happens in the server. Client’s local storage is not involved.