0
0
Ruby on Railsframework~8 mins

Low-level caching with Rails.cache - Performance & Optimization

Choose your learning style9 modes available
Performance: Low-level caching with Rails.cache
HIGH IMPACT
Improves page load speed by storing and reusing expensive data or computations, reducing database queries and server processing time.
Caching expensive database query results to speed up page rendering
Ruby on Rails
def expensive_data
  Rails.cache.fetch('expensive_data_key', expires_in: 10.minutes) do
    Model.where(condition: true).to_a
  end
end
Caches the query result for 10 minutes, serving cached data instantly on repeated requests.
📈 Performance GainReduces database queries to zero during cache lifetime, cutting response time by 80-95%
Caching expensive database query results to speed up page rendering
Ruby on Rails
def expensive_data
  Model.where(condition: true).to_a
end
Runs the database query on every request, causing slow response and high server load.
📉 Performance CostBlocks rendering for 50-200ms per request depending on query complexity
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
No caching, query on every requestN/A (server-side)N/AN/A[X] Bad
Using Rails.cache to store query resultsN/A (server-side)N/AN/A[OK] Good
Rendering Pipeline
Rails.cache stores data in memory or external stores, so when a request comes, the app can skip expensive data fetching and directly serve cached content, reducing server processing before HTML is sent to the browser.
Server Processing
Database Query
HTML Generation
⚠️ BottleneckDatabase Query and Server Processing
Core Web Vital Affected
LCP
Improves page load speed by storing and reusing expensive data or computations, reducing database queries and server processing time.
Optimization Tips
1Cache expensive queries or computations to reduce server load.
2Use meaningful cache keys and set expiration times to keep data fresh.
3Monitor cache hit rates and response times to ensure caching is effective.
Performance Quiz - 3 Questions
Test your performance knowledge
What is the main performance benefit of using Rails.cache for expensive queries?
AAdds extra network requests
BIncreases database query frequency
CReduces server processing time by reusing stored data
DSlows down page rendering
DevTools: Network
How to check: Open DevTools, go to Network tab, reload the page and observe response times and number of requests to the server.
What to look for: Faster response times and fewer database query logs on server indicate effective caching.