Caching is an extremely important topic in TYPO3. If an extension does not work properly with cache, it may slow down pages significantly. Therefore, cache related issues should always be considered by extension developers while developing Frontend plugins.
TYPO3 caches all pages by default. Caching means that the page content is generated once and stored to the database. When a user visits the same page again, TYPO3 does not have to generate all the menus, process all the content objects, or call the Frontend plugins once again. It simply takes the page content from the database and sends it to the website visitor. Caching is able to speed up page rendering about 10-20 times.
While caching, TYPO3 must take care of many issues. For example, a page can be available in many languages. There can be Frontend users logged in. A page may have parameters such as the news article ID. All these issues affect caching.
A page can be cached either to the database or to the external...