Performance: Why caching matters for performance
Caching reduces server processing time and speeds up page load by reusing stored data instead of recalculating it.
Jump into concepts and practice - no test required
from django.views.decorators.cache import cache_page @cache_page(60 * 15) # Cache for 15 minutes def view(request): data = expensive_database_query() return render(request, 'template.html', {'data': data})
def view(request): data = expensive_database_query() return render(request, 'template.html', {'data': data})
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| No caching, full query on each request | N/A (server-side) | N/A | High due to slow server response | [X] Bad |
| Using Django cache_page decorator | N/A (server-side) | N/A | Low due to fast server response | [OK] Good |
from django.core.cache import cache
def my_view(request):
count = cache.get('count', 0)
count += 1
cache.set('count', count, timeout=60)
print(count)
from django.core.cache import cache
class MyObject:
def __init__(self, value):
self.value = value
obj = MyObject(10)
cache.set('obj', obj, timeout=300)