Не знаю, зачем вам нужен сервис для этого. Вы можете написать свой собственный сервис кэширования, если связываете данные с Redis.
Redis - это база данных в памяти, которая имеет отличное время отклика. Единственное, вам нужен постоянный репозиторий с теми же данными, на всякий случай, Redis отключается и вам все еще нужен доступ к данным.
Предоставление примера узла JS, надеюсь, это поможет. Да, вы также можете настроить период времени там, если хотите.
module.exports.findURlDataCached = function (db, redis, url, callback) {
redis.get(title, function (err, reply) {
if (err) callback(null);
else if (reply) //Url and response exists in cache
callback(JSON.parse(reply));
else {
//Url doesn't exist in cache - we need to query the main database
db.collection('text').findOne({
title: title
}, function (err, doc) {
if (err || !doc) callback(null);
else {\\Url found in database, save to cache and
return to client
redis.set(url, JSON.stringify(doc), function () {
// Sets the expiry time by 24 hours from current time
redis.expireat(url, parseInt((+new Date)/1000) + 86400);
callback(doc);
});
}
});
}
});
};