我有一个站点地图上有大约150K页的站点。我正在使用站点地图索引生成器来制作站点地图,但实际上,我需要一种缓存方式,因为在我的服务器上构建150个站点地图,每个站点地图都是很残酷的[1]。如何在django中高效地服务大量的站点地图
我可以缓存每个这些网站地图页面与memcached,这就是我在网站上的其他地方......但是,这是如此之多的站点地图,它会完全填满memcached ....因此,工作。
我认为我需要的是一种使用数据库作为这些缓存的方式,并且只有在它们发生变化时才会生成它们(这是因为站点地图索引意味着只更改最新的几个站点地图页面,因为其余部分总是相同的。)[2]但是,就我所知,我只能用django使用一个高速缓存后端。
如何在Google来到“a-crawlin”时准备好这些站点地图,而不会杀死我的数据库或memcached?
有什么想法?
[1]我已将它限制为每个站点地图页面1,000个链接,因为生成最多50,000个链接,但没有发生。
[2]例如,如果我有sitemap.xml?page = 1,page = 2 ... sitemap.xml?page = 50,我只需要更改sitemap.xml?page = 50,直到它充满1,000链接,那么我可以它几乎永远,集中51页上,直到它的全部,它缓存永远等
编辑,2012-05-12:这仍然是一个问题,并且在将它与文件缓存一起使用约一年后,我终于放弃了Django的站点地图框架。相反,我现在使用Solr在一个非常简单的视图中生成我需要的链接,然后将它们传递给Django模板。这大大简化了我的站点地图,使他们表现得很好,我现在达到约2,250,000个链接。如果你想这样做,只需查看网站地图模板 - 这一切都非常明显。你可以在这里看到这里的代码:https://bitbucket.org/mlissner/search-and-awareness-platform-courtlistener/src/tip/alert/casepage/sitemap.py
不,它们适用于机器人。请不要忽视它们。详细信息:sitemaps.org – mlissner 2010-05-11 02:28:12