Answer the question
In order to leave comments, you need to log in
The name of the caching algorithm?
Usually caching works like this:
function получитьДанные() {
if (данныеЕстьВкеше() && данныеНеПротухли() ) {
return данныеИзКеша();
} else {
var данные = сгенеритьДанныеДолгоИнудно()
сохранитьВкеш(данные);
return данные;
}
}
function получитьДанные() {
if (данныеЕстьВкеше() && данныеНеПротухли() ) {
return данныеИзКеша();
} elseif(данныеЕстьВкешеНоУжеПротухли() ) {
App::on('finish', function() { // после отдачи результата обновляем данные в кеше
var данные = сгенеритьДанныеДолгоИнудно();
сохранитьВкеш(данные);
});
return данныеИзКеша(); // возвращаем пусть и протухшие, зато не ждем
} else {
// данных в кеше никаких нет, придется перегенерить в любом случае
var данные = сгенеритьДанныеДолгоИнудно();
сохранитьВкеш(данные);
return данные;
}
}
// в коде еще есть проверки не перегенеряем ли мы уже данные
// (чтобы одновременно в другом потоке не перегенерять их несколько раз)
// но для упрощения понимания алгоритма убрал их из псевдокода.
Answer the question
In order to leave comments, you need to log in
I don't know the name, but it's not new at all
https://tools.ietf.org/html/rfc5861#section-3
nginx.org/en/docs/http/ngx_http_proxy_module.html#...
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question