
12/10/2020
What this post added
This post details the technical implementation of Shopify's new storefront rendering engine, focusing on performance optimizations. It introduces the use of MySQL's multi-statement feature to batch queries, a thin data mapping layer with plain old Ruby objects instead of a full ORM, and a query book-keeping mechanism for eager-loading data. It also elaborates on multiple caching layers: in-memory cache, node-local shared caching (Redis), full-page caching, database query results caching, and a Liquid object memoizer. Performance metrics for the new engine are provided.