http://guides.rubyonrails.org/caching_with_rails.html#fregment-caching

https://devcenter.heroku.com/articles/caching-strategies#fragment-caching

https://signalvnoise.com/posts/3113-how-key-based-cache-expiration-works