Я работаю над приложением node.js + Express, где я использую Redis для кэша ответов API. Вот упрощенная версия моего маршрута: < /p>
router.get("/get-acadamies", async (req, res) => {
try {
const redkey = "acadamy:all";
const cached = await redisGet(redkey);
if (cached !== null) {
return res.json({
success: true,
message: "Result fetched from Redis cache",
data: cached,
});
}
const result = await academiesModel.find({}).limit(1000);
// Cache result in background
setImmediate(async () => {
await redisSet(redkey, result, 3600);
});
return res.json({
success: true,
message: "Result data fetched from DB successfully",
data: result,
});
} catch (error) {
return res.json({
success: false,
message: "Something went wrong",
data: [],
});
}
});
Подробнее здесь: https://stackoverflow.com/questions/796 ... -http-resp