我使用Django + memcached,并有一个(希望)简单的问题。
我的数据库每天更新一次。我的页面设置为24小时后超时。
是否有一种方法可以在任何用户访问之前,在数据库更新之后,每天将网站的所有页面生成一次缓存?
我希望当天的第一个用户看到快速加载的缓存版本,而不是加载缓慢的非缓存版本。
我想我可以通过抓取站点来做到这一点,但是有更整洁的方法吗?
我认为这将取决于你如何设置你的url .py。
如果你的url都是
- a。)直接从urls.py
或
- b)可预测的基于你的数据库
如果是,你可以使用djjango_extensions show_urls
通过执行python manage.py show_urls,它会输出一个所有url的列表。
从那里,你可以捕获它们在一个列表中,循环它们,同时用request .get(some_url)
输出将告诉您是否需要一个变量。如果是,只需将其替换为正确的变量,就可以完成了。