Technologies/Django/django.cache.misses
DjangoDjangoMetric

django.cache.misses

Unsuccessful cache retrievals
Dimensions:None
Available on:DatadogDatadog (1)
Interface Metrics (1)
DatadogDatadog
Number of unsuccessful cache retrievals
Dimensions:None

Technical Annotations (38)

Configuration Parameters (12)
shared_buffers
PostgreSQL memory cache size - increase if cache hit ratio is low
lock.timeoutrecommended: 5
Prevents deadlocks if worker crashes during cache computation
timeoutrecommended: 60 * 60
Cache expiry in seconds; example shows 1 hour for redis_cache.set()
CACHES.BACKENDrecommended: django.core.cache.backends.memcached.PyMemcacheCache
Memcached backend loses data on restart
CACHES.OPTIONS.CULL_FREQUENCYrecommended: 3
default value; 0 dumps entire cache, 2 culls half, 3 culls one-third
CACHES.OPTIONS.MAX_ENTRIESrecommended: 300
cache capacity threshold that triggers culling
CACHES.default.BACKENDrecommended: django.core.cache.backends.redis.RedisCache or django.core.cache.backends.memcached.MemcachedCache
Use shared backend instead of locmem for production
CACHES.view_name.BACKENDrecommended: django.core.cache.backends.locmem.LocMemCache
Define separate cache backend for each view group to enable selective clearing
CACHES.view_name.LOCATIONrecommended: unique_location_name
Required when using separate LocMemCache instances
LOCATIONrecommended: 127.0.0.1:11211
must point to running Memcached server address and port
HITCOUNT_CACHE_TIMEOUTrecommended: 1800
Must exceed HITCOUNT_PERSIST_SCHEDULE to prevent hit data loss
HITCOUNT_PERSIST_SCHEDULErecommended: 10
Must be less than HITCOUNT_CACHE_TIMEOUT; value in minutes
Error Signatures (1)
ConnectionRefusedError: [Errno 111] Connection refusedexception
CLI Commands (2)
with cache.lock(f"lock:user_profile:{user_id}", timeout=5):remediation
python manage.py persist_hitsremediation
Technical References (23)
Django Debug Toolbarcomponentcache panelcomponentRediscomponentdjango_cache_get_hits_totalcomponentdjango_cache_get_misses_totalcomponentTTLconceptpost_savecomponentpost_deletecomponentcache.lock()componentcache stampedeconceptthundering herdconceptDjango signalscomponentDRF cachingcomponentRedisCachecomponentredis_cache.setcomponentdatetime.datetime.now()componentdateutil.parser.parse()componentLocMemCachecomponentdjango.core.cache.backends.locmem.LocMemCachecomponent@cache_pagecomponentkey_prefixcomponentMemcachedCachecomponentmemcachecomponent
Related Insights (18)
Low cache hit ratio indicates ineffective cache configurationinfo
Repeatedly called endpoints without caching increase database loadwarning
Cache hit ratio below 70% indicates inefficient cachingwarning
Stale cached QuerySet data from missing invalidationwarning
Cache stampede causes database overload on cold cachewarning
Missing cache invalidation causes stale data to be served to userswarning
Improper cache expiry time causes stale data or server overloadwarning
Memcached data loss on server crash or restartwarning
Local-memory cache inefficient in multi-process deploymentswarning
CULL_FREQUENCY=0 causes full cache dump at capacitywarning
Timestamp-based cache invalidation eliminates deletion overheadinfo
LocMemCache creates isolated per-process cache instanceswarning
Cache bloat from @cache_page decorator over-cachinginfo
Memcached server unreachable causes connection refusedcritical
Hit data loss due to cache expiration before persistencewarning
Cache hit ratio below 85% indicates optimization neededwarning
Improper cache invalidation serves stale data to userswarning
Inadequate serialization causes polymorphic cache misseswarning