Caching is a general term that describes the technique of keeping data that is likely to be needed in a format or location that speeds up access to that data. For example, your PC stores information about running programs in the semiconductor devices known as Random Access Memory (RAM) chips, and computers today can have many hundreds of megabytes of this memory. RAM chips are fast, but modern motherboards invariably come fitted with a smaller amount of even faster memory chips, called the RAM cache.
When a running program is working with an item held in RAM, the whole block of memory around that item is transferred to the RAM cache, vastly speeding up subsequent accesses to that same data item or its neighbors. It works because programs often access items that are near to each other in RAM. Items in a collection, for instance, are usually all held in the same area of RAM, so you can imagine the speed benefits that caching brings when iterating...