Loading django/core/cache/backends/locmem.py +25 −22 Original line number Diff line number Diff line Loading @@ -26,28 +26,31 @@ class LocMemCache(BaseCache): def add(self, key, value, timeout=DEFAULT_TIMEOUT, version=None): key = self.make_key(key, version=version) self.validate_key(key) try: pickled = pickle.dumps(value, pickle.HIGHEST_PROTOCOL) except pickle.PickleError: return False with self._lock.writer(): exp = self._expire_info.get(key) if exp is None or exp <= time.time(): try: pickled = pickle.dumps(value, pickle.HIGHEST_PROTOCOL) self._set(key, pickled, timeout) return True except pickle.PickleError: pass return False def get(self, key, default=None, version=None): key = self.make_key(key, version=version) self.validate_key(key) pickled = None with self._lock.reader(): exp = self._expire_info.get(key, 0) if exp is None or exp > time.time(): try: pickled = self._cache[key] try: if pickled is not None: return pickle.loads(pickled) except pickle.PickleError: return default with self._lock.writer(): try: del self._cache[key] Loading @@ -68,9 +71,9 @@ class LocMemCache(BaseCache): def set(self, key, value, timeout=DEFAULT_TIMEOUT, version=None): key = self.make_key(key, version=version) self.validate_key(key) with self._lock.writer(): try: pickled = pickle.dumps(value, pickle.HIGHEST_PROTOCOL) with self._lock.writer(): self._set(key, pickled, timeout) except pickle.PickleError: pass Loading @@ -81,9 +84,9 @@ class LocMemCache(BaseCache): raise ValueError("Key '%s' not found" % key) new_value = value + delta key = self.make_key(key, version=version) with self._lock.writer(): try: pickled = pickle.dumps(new_value, pickle.HIGHEST_PROTOCOL) with self._lock.writer(): self._cache[key] = pickled except pickle.PickleError: pass Loading Loading
django/core/cache/backends/locmem.py +25 −22 Original line number Diff line number Diff line Loading @@ -26,28 +26,31 @@ class LocMemCache(BaseCache): def add(self, key, value, timeout=DEFAULT_TIMEOUT, version=None): key = self.make_key(key, version=version) self.validate_key(key) try: pickled = pickle.dumps(value, pickle.HIGHEST_PROTOCOL) except pickle.PickleError: return False with self._lock.writer(): exp = self._expire_info.get(key) if exp is None or exp <= time.time(): try: pickled = pickle.dumps(value, pickle.HIGHEST_PROTOCOL) self._set(key, pickled, timeout) return True except pickle.PickleError: pass return False def get(self, key, default=None, version=None): key = self.make_key(key, version=version) self.validate_key(key) pickled = None with self._lock.reader(): exp = self._expire_info.get(key, 0) if exp is None or exp > time.time(): try: pickled = self._cache[key] try: if pickled is not None: return pickle.loads(pickled) except pickle.PickleError: return default with self._lock.writer(): try: del self._cache[key] Loading @@ -68,9 +71,9 @@ class LocMemCache(BaseCache): def set(self, key, value, timeout=DEFAULT_TIMEOUT, version=None): key = self.make_key(key, version=version) self.validate_key(key) with self._lock.writer(): try: pickled = pickle.dumps(value, pickle.HIGHEST_PROTOCOL) with self._lock.writer(): self._set(key, pickled, timeout) except pickle.PickleError: pass Loading @@ -81,9 +84,9 @@ class LocMemCache(BaseCache): raise ValueError("Key '%s' not found" % key) new_value = value + delta key = self.make_key(key, version=version) with self._lock.writer(): try: pickled = pickle.dumps(new_value, pickle.HIGHEST_PROTOCOL) with self._lock.writer(): self._cache[key] = pickled except pickle.PickleError: pass Loading