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)