У меня есть сайт, содержащий около 150 тыс. страниц в его файле Sitemap. Я использую генератор индекса sitemap для создания файлов Sitemap, но на самом деле мне нужен способ его кеширования, потому что построение 150 файлов Sitemap из 1000 ссылок на каждом сервере является жестоким на моем сервере. [1]
Я могу кэшировать каждую из этих страниц sitemap с memcached, что я и использую в другом месте на сайте... однако, это так много файлов Sitemap, что он полностью заполнил memcached.... так что это не работа.
Мне кажется, что мне нужно использовать базу данных в качестве кеша для них и генерировать их только тогда, когда есть изменения в них (что в результате индекса sitemap означает только изменение последней пары страниц Sitemap, так как остальные всегда одни и те же.) [2] Но, насколько я могу судить, я могу использовать только один кеш-сервер с django.
Как я могу использовать эти файлы Sitemap для Google, когда Google приходит, чтобы не убивать мою базу данных или memcached?
Любые мысли?
[1] Я ограничил его до 1000 ссылок на страницу сайта, потому что генерации max, 50 000 ссылок просто не было.
[2], например, если у меня есть sitemap.xml? page = 1, page = 2... sitemap.xml? page = 50, мне действительно нужно изменить sitemap.xml? page = 50, пока это не будет полный с 1000 ссылками, тогда я могу это сделать навсегда, и сосредоточиться на странице 51 до тех пор, пока он не будет полностью, кешировать его навсегда и т.д.
EDIT, 2012-05-12: Это продолжает оставаться проблемой, и я, наконец, удалил каркас Sitemap Django после использования его с кешем файлов в течение примерно года. Вместо этого я теперь использую Solr для генерации ссылок, которые мне нужны в действительно простом представлении, и затем я передаю их в шаблон Django. Этот значительно упростил мои файлы Sitemap, заставил их работать отлично, и на данный момент у меня до 2 250 000 ссылок. Если вы хотите это сделать, просто ознакомьтесь с шаблоном карты сайта - все это действительно очевидно. Вы можете увидеть код для этого здесь: https://bitbucket.org/mlissner/search-and-awareness-platform-courtlistener/src/tip/alert/casepage/sitemap.py