The article below shows how one can reduce database load by using efficient caching and expiration strategies.
A combination of Rails.cache.fetch
and smart callbacks for cache expiration is usually all it takes to alleviate your DB load. The hard part is always to ensure that you have identified the right resources involved in your cache and make sure these have callbacks to expire the relevant cache entries.