A cache is a temporary storage of frequently downloaded or requested data. In most cases, information that is cached is kept in fast media (such as RAM) in order to provide quicker access to it. In other cases, it may simply be stored in a medium closer to the user (such as the web browser) so that they do not have to make the virtual trip to the server every time they load a page.
Operating systems typically cache short-term data in RAM, and may also supplement that with disk caching as well. Servers that run Linux or another Unix variant do an excellent job of caching application data. Because of this, you can exit a frequently used application, but it will partially stay in the memory until other data takes its place. Open the application again, and it will appear instantly.
For the web server software itself, you will need to configure it to cache websites. Many content management systems (CMS) make use of basic XML and database caching, but you may want to install a web application caching tool specifically design to increase performance even further. There are also ways to configure Apache HTTP Server to use caching for scripts and other files. Apache has a number of modules for caching, namely mod_cache, mod_file-cache, mod_mem_cache, and mod_disk_cache.
Caching is a great way to speed up your website for your users and reduce overall load on databases and web applications. In most cases, it will not cost you any additional money and does not take much time to setup and maintain.