Junior — Middle
Czy używałeś Redis do celów cache'owania danych?
sobes.tech AI
Odpowiedź od AI
Tak, Redis jest często używany do buforowania danych ze względu na wysoką szybkość pracy z danymi w pamięci. W Node.js można użyć pakietu redis do interakcji z serwerem Redis.
Przykład buforowania wyniku zapytania:
const redis = require('redis');
const client = redis.createClient();
async function getCachedData(key, fetchFunction) {
return new Promise((resolve, reject) => {
client.get(key, async (err, data) => {
if (err) return reject(err);
if (data) {
return resolve(JSON.parse(data));
} else {
const freshData = await fetchFunction();
client.setex(key, 3600, JSON.stringify(freshData)); // cache na 1 godzinę
resolve(freshData);
}
});
});
}
// Użycie:
// getCachedData('user:123', () => fetchUserFromDB(123))
Takie podejście zmniejsza obciążenie bazy danych i przyspiesza odpowiedź aplikacji.