基于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()时,它将在所有连接的实例上执行。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java不可访问配置设计   在java中使用json就像在javascript中一样   java如何屏蔽Android 4.0主密钥   java为什么clickable的预期条件不执行click()?   Azure事件中心:Kafka消费者在java中不轮询任何内容   javajaxb和enum实现接口   java如何在标记下添加ProgressBar和按钮   java如何为对象实现arrayList   使用多重匹配重载java构造方法重载   java使用for循环和if语句搜索帐户   java JPanel在JPanel中添加了顶部填充   IntelliJ将Java项目/模块转换为Maven项目/模块   java如何迭代arraylist中的arraylist   自定义类的java“找不到符号”错误