Hi!
First say thank you for the amazing work done here with Streamlit!!
On our application we are loading a lot of data and we are using st.experimental_memo
to cache it in order to re-use when reloading the page. However, looking at the logs we see that the cache only hit when is persistent on disk, but not on memory. See logs below:
2022-08-10 15:30:56.828 Creating new MemoCache (key=245a094d960f4378866ff09549a57c4f, persist=disk, max_entries=inf, ttl=180)
2022-08-10 15:30:56.829 Cache key: ff861cd68892094d9e93d98e6cb5f27f
2022-08-10 15:30:56.829 Memory cache MISS: ff861cd68892094d9e93d98e6cb5f27f
2022-08-10 15:30:57.066 Disk cache HIT: ff861cd68892094d9e93d98e6cb5f27f
2022-08-10 15:31:16.316 Cache hit: <function DataAnalyticsLoader.load at 0x000001D951C72438>
…
2022-08-10 15:34:09.669 Cache key: ff861cd68892094d9e93d98e6cb5f27f
2022-08-10 15:34:09.669 Memory cache MISS: ff861cd68892094d9e93d98e6cb5f27f
2022-08-10 15:34:09.886 Disk cache HIT: ff861cd68892094d9e93d98e6cb5f27f
2022-08-10 15:34:30.763 Cache hit: <function DataAnalyticsLoader.load at 0x000001DA23F18708>
Do you know which could be the reason of this? Looking at your source code I see that after a Disk cache HIT
it should write it on memory, but it seems like when looking for the key in memory cache it does not find it.