برنامه نویسی
ذخیره سازی با کارایی بالا در Express.js با Redis
هنگام ساختن API یا برنامه های کاربردی سنگین ، زمان عملکرد و پاسخ بسیار مهم است. با ادغام redis با Express.js ، می توانید عملیات گران قیمت مانند نمایش داده های پایگاه داده و درخواست های API خارجی را ذخیره کنید و سرعت و مقیاس پذیری برنامه خود را به طرز چشمگیری بهبود بخشید.
چرا از redis برای ذخیره سازی استفاده می کنیم؟
- ذخیره سازی در حافظه برای دسترسی سریع رعد و برق
- از انقضا TTL (زمان به زندگی) پشتیبانی می کند
- به راحتی مقیاس می شود و اثبات شده است
مرحله 1: Express و Redis را تنظیم کنید
npm init -y
npm install express ioredis
// server.js
const express = require('express');
const Redis = require('ioredis');
const app = express();
const redis = new Redis();
مرحله 2: برای ذخیره سازی یک وسط نرم افزار ایجاد کنید
async function cache(req, res, next) {
const key = req.originalUrl;
const cachedData = await redis.get(key);
if (cachedData) {
return res.send(JSON.parse(cachedData));
}
res.sendResponse = res.send;
res.send = (body) => {
redis.set(key, JSON.stringify(body), 'EX', 60); // cache for 60 seconds
res.sendResponse(body);
};
next();
}
مرحله 3: از آن در مسیر خود استفاده کنید
app.get('/api/data', cache, async (req, res) => {
const data = await expensiveOperation(); // e.g., DB query
res.send(data);
});
function expensiveOperation() {
return new Promise(resolve => {
setTimeout(() => resolve({ message: "Fresh data" }), 2000);
});
}
app.listen(3000, () => console.log('Server running on port 3000'));
مزایا و ملاحظات
- زمان پاسخ بهبود یافته برای نقاط پایانی که به طور مکرر دسترسی دارند
- کاهش بار در سرویس های پس زمینه و بانکهای اطلاعاتی
- به داده های بی نظیر توجه داشته باشید. در صورت لزوم از TTL یا بی اعتبار بودن دستی استفاده کنید
پایان
افزودن ذخیره سازی Redis به یک برنامه Express.js یک روش ساده اما مؤثر برای عملکرد مقیاس است. این که آیا شما در حال ساخت برنامه API ، داشبورد یا SSR هستید ، ذخیره سازی می تواند تفاوت زیادی در تجربه کاربر و کارآیی سیستم ایجاد کند.
اگر این پست به شما کمک کرد ، از من حمایت کنید: buymeacoffee.com/hexshift