From 0b8223c8bdbf0522cb737d9c7f6f6a96b6cb38a4 Mon Sep 17 00:00:00 2001 From: Gary Gale Date: Mon, 11 Nov 2024 21:51:33 +0000 Subject: [PATCH] feat: closes #452: delete method support for memcached backend (manual merge) --- changelog.d/352.feature.md | 1 + fastapi_cache/backends/memcached.py | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 changelog.d/352.feature.md diff --git a/changelog.d/352.feature.md b/changelog.d/352.feature.md new file mode 100644 index 0000000..d761515 --- /dev/null +++ b/changelog.d/352.feature.md @@ -0,0 +1 @@ +Delete method support for memcached backend (from @xodiumx) \ No newline at end of file diff --git a/fastapi_cache/backends/memcached.py b/fastapi_cache/backends/memcached.py index 156a3e6..e58397e 100644 --- a/fastapi_cache/backends/memcached.py +++ b/fastapi_cache/backends/memcached.py @@ -19,4 +19,11 @@ class MemcachedBackend(Backend): await self.mcache.set(key.encode(), value, exptime=expire or 0) async def clear(self, namespace: Optional[str] = None, key: Optional[str] = None) -> int: - raise NotImplementedError + is_deleted = False + if key: + is_deleted = await self.mcache.delete(key=key.encode()) + else: + await self.mcache.flush_all() + is_deleted = True + + return int(is_deleted)