2014-02-23 71 views

回答

3

cacheTime是sitemap.js模塊等待多長時間才能從給定的URL列表重新生成sitemap.xml文件。

即。在第一次請求時,將生成一個sitemap.xml文件並將其放入緩存中。隨後的請求從緩存中讀取站點地圖,直到它到期並重新生成。

我同意它可以更清楚,但源代碼使它很清楚。

根據在sitemap.js源代碼,線136:

// sitemap cache 
    this.cacheEnable = false; 
    this.cache = ''; 
    if (cacheTime > 0) { 
    this.cacheEnable = true; 
    this.cacheCleanerId = setInterval(function (self) { 
     self.clearCache(); 
    }, cacheTime, this); 
    } 

和線187:

Sitemap.prototype.toString = function() { 
    var self = this 
    , xml = [ '<?xml version="1.0" encoding="UTF-8"?>', 
       '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">']; 

    if (this.cacheEnable && this.cache) { 
    return this.cache; 
    } 

    // TODO: if size > limit: create sitemapindex 

    this.urls.forEach(function (elem, index) { 
    // SitemapItem 
    var smi = elem; 

具體來說:

if (this.cacheEnable && this.cache) { 
    return this.cache; 
} 

和透明的高速緩存操作具有setInterval就等於給出的cacheTime參數。

請注意,如果您的網址更改且您的網站地圖可能會過期,並且您的網址地圖緩存未被清除,這意味着您的網站地圖可能會過期。

+1

所以基本上,它是一個功能來處理修改創建時提供的URL集,是否正確?如果是這樣,那麼如何動態修改這個URL列表? – JVerstry