st.cache_data: ttl expiry or manual .clear() for data that updates on a schedule?
I have a Streamlit app (modern st.cache_data / st.cache_resource API) where a cached function reads a dataset that is refreshed by an external job at known times, roughly every few hours. The cache key (function name, arguments, code hash) does not change when the underlying data changes, so without intervention users keep seeing the stale result. I'm weighi