#rough ## Server-Side Caching vs. Database Query If you need to read in a potentially large dataset, ideally, you would only load this once. If we create a hidden `<div>` to fire the load and save the output to another hidden `<div>`, we can then access the data stored in the hidden `<div>` without loading it multiple times. The data itself remains on the server and must be sent over the network with each request, however. However, this could be faster if the data were stored in a connected database and we only query for the individuals we want. Dash provides a few other options for increasing performance with memoization, for instance, where the data are serialized as JSON and stored client side. Use `return df.to_json()`. See [here](https://community.plotly.com/t/sharing-a-dataframe-between-plots/6173). Another newer option is the cached callback in dash_extensions. This creates a shared store for callbacks client side as well. See [here](https://community.plotly.com/t/show-and-tell-server-side-caching/42854).