我正在使用Django + memcached并且有一个(希望)简单的问题。
我的数据库每天更新一次。我的页面将在24小时后超时。
有没有办法在每天更新数据库之后,在任何用户访问它们之前,每天生成一次网站的所有页面到缓存中?
我希望当天的第一个用户能够看到快速加载的缓存版本,而不是缓慢加载的非缓存版本。
我想我可以通过抓取网站来做到这一点,但有更简洁的方法吗?
答案 0 :(得分:0)
我认为这取决于你如何设置你的urls.py。
如果您的网址都是
或
如果是这样,您可以使用django_extensions show_urls
通过执行python manage.py show_urls,它会输出所有网址的列表。
从那里,您可以在列表中捕获它们并循环遍历它们,同时使用requests.get(some_url)
命中每个输出将告知是否需要变量。如果是这样,只需将其替换为正确的变量即可。