async def _set(self, *args: dict, **kwargs: dict): key = self.__build_key(*args, **kwargs) if bredis.exists(key): value = pickle.loads(bredis.get(key)) return value if type(value) is not _NotSet else value.real_value result = await self.func(*args, **kwargs) if result is None: result = _NotSet() asyncio.ensure_future(set_value(key, result, ttl=self.ttl)) log.debug(f'Cached: writing new data for key - {key}') return result if type(result) is not _NotSet else result.real_value
def check_flood(self, message): return bredis.exists(self.cache_key(message))