Tôi có một trang web có khoảng 150 nghìn trang trong sơ đồ trang web của nó. Tôi đang sử dụng trình tạo chỉ mục sơ đồ trang web để tạo các sơ đồ trang web, nhưng thực sự, tôi cần một cách để lưu vào bộ nhớ cache, vì việc xây dựng 150 sơ đồ trang web gồm 1.000 liên kết mỗi là tàn bạo trên máy chủ của tôi. [1]Cách phân phối hiệu quả các sơ đồ trang web lớn trong django
Tôi COULD cache mỗi trang sơ đồ trang web này với memcached, đó là những gì tôi đang sử dụng ở nơi khác trên trang web ... tuy nhiên, đây là rất nhiều sơ đồ trang web mà nó sẽ hoàn toàn điền memcached .... do đó doesn ' t làm việc.
Điều tôi nghĩ tôi cần là cách sử dụng cơ sở dữ liệu làm bộ nhớ cache cho những thứ này và chỉ tạo chúng khi có thay đổi đối với chúng (do kết quả của chỉ mục sơ đồ trang web chỉ thay đổi cặp sơ đồ trang web mới nhất các trang, vì phần còn lại luôn giống nhau.) [2] Nhưng, gần như tôi có thể nói, tôi chỉ có thể sử dụng một bộ đệm phụ trợ với django.
Làm cách nào để tôi có các sơ đồ trang web này sẵn sàng khi Google truy cập 'mà không làm hỏng cơ sở dữ liệu của tôi hoặc được ghi nhớ?
Mọi suy nghĩ?
[1] Tôi đã giới hạn 1.000 liên kết cho mỗi trang sơ đồ trang web vì tạo tối đa 50.000 liên kết, chỉ không xảy ra. Ví dụ:
[2], nếu tôi có sitemap.xml? Page = 1, page = 2 ... sitemap.xml? Page = 50, tôi chỉ thực sự cần thay đổi sitemap.xml? Page = 50 cho đến khi nó có đầy đủ 1.000 liên kết, sau đó tôi có thể sử dụng nó vĩnh viễn và tập trung vào trang 51 cho đến khi nó đầy, lưu vào bộ nhớ cache mãi mãi, v.v.
EDIT, 2012-05-12: Điều này vẫn tiếp tục là vấn đề và cuối cùng tôi đã bỏ khuôn khổ sơ đồ trang web của Django sau khi sử dụng nó với bộ nhớ cache trong khoảng một năm. Thay vào đó, bây giờ tôi đang sử dụng Solr để tạo ra các liên kết tôi cần trong một cái nhìn thực sự đơn giản, và sau đó tôi chuyển chúng sang mẫu Django. Điều này rất nhiều đã đơn giản hóa sơ đồ trang web của tôi, làm cho chúng hoạt động tốt và tôi hiện có khoảng 2.250.000 liên kết. Nếu bạn muốn làm điều đó, chỉ cần kiểm tra các mẫu sơ đồ trang web - đó là tất cả thực sự rõ ràng từ đó. Bạn có thể xem mã cho điều này tại đây: https://bitbucket.org/mlissner/search-and-awareness-platform-courtlistener/src/tip/alert/casepage/sitemap.py
Không, chúng dành cho rô bốt. Xin vui lòng bỏ qua chúng. Chi tiết: sitemaps.org – mlissner