In this chapter, we explored how to improve the performance of our site by implementing caching. We saw the different backends that Django offers and learned how to configure our site to use each of them. We also learned how to cache pieces of data using the low-level API, the output of views with per-view caching, and even our whole site with per-site caching.
We looked at when certain cache mechanisms work better than others and also the general caching strategies. Finally, we wrapped up by looking at how our data might be cached by outside servers and how to make sure our data is served properly in those situations.
In the next chapter, we will look at serving your site in multiple languages with Django's internationalization (i18n) libraries.