示例#1
0
    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
示例#2
0
 def check_flood(self, message):
     return bredis.exists(self.cache_key(message))