MapCache is the MapServer project's implementation of a tile caching server. It aims to be simple to install and configure, to be (very) fast (written in C and running as a native module under apache or nginx, or as a standalone fastcgi instance), and to be capable (services WMTS, googlemaps, virtualearth, KML, TMS, WMS). When acting as a WMS server, it will also respond to untiled GetMap requests, by dynamically merging multiple layers into a single image, and multiple tiles into an arbitrary image size. Multiple cache backends are included, allowing tiles to be stored and retrieved from file based databases (sqlite, mbtiles, berkeley-db), memcached instances, cloud REST containers (S3, Azure, Google Cloud Storage), or even directly from tiled TIFF files. Support of dimensions allows storing multiple versions of a tileset (e.g. one per customer), and time based requests can be dynamically served by interpreting and reassembling entries matching the requested time interval. MapCache can also be used to transparently speedup existing WMS instances, by intercepting getmap requests that can be served by tiles, and proxying all other requests to the original WMS server. Along with an overview of MapCache's functionalities, this presentation will also address real-world usecases and recommended configurations.