我有一个python后端,在前面使用varnish 3.0.7作为api工作。我希望能够从我的Python应用程序中清除清漆缓存 - e.i.在一些文件被更新之后。清除python中的所有Varnish缓存
我一直试图从本教程中清除https://www.varnish-cache.org/docs/3.0/tutorial/purging.html 但它只清除一个对象。
我知道我可以重新启动清漆,但有什么办法删除所有缓存的对象吗?
我有一个python后端,在前面使用varnish 3.0.7作为api工作。我希望能够从我的Python应用程序中清除清漆缓存 - e.i.在一些文件被更新之后。清除python中的所有Varnish缓存
我一直试图从本教程中清除https://www.varnish-cache.org/docs/3.0/tutorial/purging.html 但它只清除一个对象。
我知道我可以重新启动清漆,但有什么办法删除所有缓存的对象吗?
最后我用https://pypi.python.org/pypi/python-varnish
from varnish import VarnishManager as varnish_manager
manager = varnish_manager(('localhost:6082',))
manager.run('stop', secret=current_app.config['VARNISH_SECRET'])
manager.run('start', secret=current_app.config['VARNISH_SECRET'])
工作就像一个魅力...
你可以从varnishadmin(varnishadm“ban req.url〜/”)做到这一点,我不确定是否有程序化的方式来满足你的需求。
更新: 你可以看看该项目https://github.com/justquick/python-varnish(没有自己尝试过)。