update prefetching store, add expiry

This commit is contained in:
Andrew Dolgov 2007-05-15 06:21:19 +01:00
parent e097e8be75
commit fed4387da1
2 changed files with 26 additions and 11 deletions

View File

@ -1687,9 +1687,9 @@ function getRelativePostIds(id) {
if (i > 1) ids.push(rows[i-2].id.replace("RROW-", ""));
if (i > 2) ids.push(rows[i-3].id.replace("RROW-", ""));
if (i < rows.length) ids.push(rows[i+1].id.replace("RROW-", ""));
if (i < rows.length-1) ids.push(rows[i+2].id.replace("RROW-", ""));
if (i < rows.length-2) ids.push(rows[i+3].id.replace("RROW-", ""));
if (i < rows.length-1) ids.push(rows[i+1].id.replace("RROW-", ""));
if (i < rows.length-2) ids.push(rows[i+2].id.replace("RROW-", ""));
if (i < rows.length-3) ids.push(rows[i+3].id.replace("RROW-", ""));
return ids;
}

View File

@ -738,16 +738,21 @@ function cdmWatchdog() {
function cache_inject(id, article) {
if (!article_cache[id]) {
if (!cache_check(id)) {
debug("cache_article: miss: " + id);
var cache_obj = new Array();
var d = new Date();
cache_obj["id"] = id;
cache_obj["entered"] = d.getTime() / 1000;
cache_obj["data"] = article;
cache_obj["last_access"] = 0;
article_cache[id] = cache_obj;
//article_cache[id] = cache_obj;
article_cache.push(cache_obj);
} else {
debug("cache_article: hit: " + id);
@ -755,17 +760,27 @@ function cache_inject(id, article) {
}
function cache_find(id) {
if (typeof article_cache[id] != 'undefined') {
return article_cache[id]["data"];
} else {
return false;
for (var i = 0; i < article_cache.length; i++) {
if (article_cache[i]["id"] == id) {
var d = new Date();
article_cache[i]["last_access"] = d.getTime() / 1000;
return article_cache[i]["data"];
}
}
return false;
}
function cache_check(id) {
return typeof article_cache[id] != 'undefined';
for (var i = 0; i < article_cache.length; i++) {
if (article_cache[i]["id"] == id) {
return true;
}
}
return false;
}
function cache_expire() {
/* TODO */
while (article_cache.length > 30) {
article_cache.shift();
}
}