基于LRU的清晰缓存
lru-cache-pubsub-cache-clear的Python项目详细描述
lru缓存pubsub缓存清除
lru_cache_pubsub_cache_clear
是一个decorator,用于向lru_cache
广播cache_clear()
调用
应用程序的多个实例。这允许本地缓存访问速度和redis一样的集中缓存失效。示例:
from lru_cache_pubsub_cache_clear.decorators import lru_cache_pubsub_cache_clear
from django_redis import get_redis_connection
@lru_cache_pubsub_cache_clear(get_redis_connection=get_redis_connection,
channel_name='CHANNEL_CACHE_CLEAR')
@lru_cache(maxsize=1000000)
def get_data(key)
...
return value
这里get_redis_connection
是一个可调用的,它返回一个redis连接(例如django_redis.get_redis_connection
)。
然后,每当一个应用程序实例调用get_data.cache_clear()
时,它将在所有连接的实例上执行。