
Caching Strategies
Fragment caching, Russian doll caching, low-level caching, Redis, cache stores
1Which Rails helper is used to cache a view fragment?
Which Rails helper is used to cache a view fragment?
回答
The cache helper is used to cache a view fragment by wrapping content in a block. Rails automatically generates a cache key based on the block content and arguments passed. This avoids re-generating the HTML on each request if the content hasn't changed.
2How does Rails automatically invalidate a fragment's cache when an ActiveRecord model is passed to the cache helper?
How does Rails automatically invalidate a fragment's cache when an ActiveRecord model is passed to the cache helper?
回答
Rails uses the model's cache_key_with_version method which includes the id and updated_at. When the model is modified, updated_at changes automatically, generating a new cache key and invalidating the old entry without manual intervention.
3What is Russian doll caching in Rails?
What is Russian doll caching in Rails?
回答
Russian doll caching involves nesting cache fragments inside each other, like Russian nesting dolls. For example, a collection cache contains caches for individual items. When an item changes, only its cache is invalidated, while other items remain cached.
Which method should be used to cache an expensive computed value outside of views?
Which cache store is recommended for a production Rails application with multiple servers?
+17 面接問題