Skip to content

Commit dc463ab

Browse files
authored
Fix memcached return default on falsy values
When a falsy value is returned from cache via memcached backend, it returns None (the default) instead, of the cached value. This is the same issue as with the Redis backend, which was fixed here: 1860549
1 parent 0cd21c6 commit dc463ab

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

django_prometheus/cache/backends/memcached.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ def get(self, key, default=None, version=None):
1313
cached = super().get(key, default=None, version=version)
1414
if cached is not None:
1515
django_cache_hits_total.labels(backend="memcached").inc()
16-
else:
17-
django_cache_misses_total.labels(backend="memcached").inc()
18-
return cached or default
16+
return cached
17+
18+
django_cache_misses_total.labels(backend="memcached").inc()
19+
return default
1920

2021

2122
class PyLibMCCache(MemcachedPrometheusCacheMixin, memcached.PyLibMCCache):

0 commit comments

Comments
 (0)