Chapter 11. The Memory Cache
Durable data storage requires a storage medium that retains data through power loss and system restarts. Todayâs medium of choice is the hard drive, a storage device composed of circular platters coated with magnetic material on which data is encoded. The platters spin at a constant rate while a sensor moves along the radius, reading and writing bits on the platters as they travel past. Reading or writing a specific piece of data requires a disk seek to position the sensor at the proper radius and wait for the platter to rotate until the desired data is underneath. All things considered, hard drives are astonishingly fast, but for web applications, disk seeks can be costly. Fetching an entity from the datastore by key can take time on the order of tens of milliseconds.
Most high-performance web applications mitigate this cost with a memory cache. A memory cache uses a volatile storage medium, usually the RAM of the cache machines, for very fast read and write access to values. A distributed memory cache provides scalable, consistent temporary storage for distributed systems, so many processes on many machines can access the same data. Because memory is volatileâit gets erased during an outageâthe cache is not useful for long-term storage, or even short-term primary storage for important data. But itâs excellent as a secondary system for fast access to data also kept elsewhere, such as the datastore. Itâs also sufficient as global high-speed ...
Get Programming Google App Engine, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.