برنامه نویسی

🚀 عملکرد API خود را با ذخیره سازی در Node.js تقویت کنید

در برنامه های وب سریع امروز ، سرعت همه چیز است! 🌍⚡ یکی از بهترین راهها برای بهینه سازی Node.js API شما با اجرای ذخیره سازی برای کاهش پرس و جوهای بانک اطلاعاتی اضافی و بهبود زمان پاسخ است.

🤔 چرا از حافظه پنهان استفاده می کنید؟

هر بار که یک API داده ها را از یک پایگاه داده دریافت می کند ، وقت و منابع مصرف می کند. در عوض ، اگر داده ها به طور مکرر تغییر نمی کنند ، می توانیم آن را در حافظه ذخیره کنیم و بدون اینکه به پایگاه داده ضربه بزنیم ، سریع آن را سرو کنیم. اینجاست که Redis 🔵 وارد می شود!

مزایای ذخیره سازی:

  • reaves پاسخ API سریعتر
  • load بار پایگاه داده را کاهش می دهد
  • 💰 مقرون به صرفه (کمتر نمایش داده شد DB)
  • 📈 مقیاس پذیری را بهبود می بخشد

🛠 تنظیم redis در node.js

1⃣ redis و وابستگی ها را نصب کنید

ابتدا Redis را روی دستگاه محلی خود نصب کنید یا از یک ارائه دهنده Redis مبتنی بر ابر مانند Redislabs استفاده کنید.
سپس بسته های NPM مورد نیاز را نصب کنید:

npm install express redis dotenv
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2 ⃣ به redis وصل شوید

ایجاد a .env پرونده و اضافه کردن جزئیات اتصال Redis:

REDIS_HOST=127.0.0.1
REDIS_PORT=6379
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون یک پرونده ایجاد کنید server.js و Redis را تنظیم کنید:

const express = require("express");
const redis = require("redis");
require("dotenv").config();

const app = express();
const client = redis.createClient({
  host: process.env.REDIS_HOST,
  port: process.env.REDIS_PORT,
});

client.on("error", (err) => console.error("Redis Error: ", err));

app.listen(3000, () => console.log("Server running on port 3000 🚀"));
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3 ⃣ ذخیره سازی API

بیایید یک مسیر API ایجاد کنیم که داده های کاربر را واگذار کند و پاسخ را برای 60 ثانیه ذخیره کند.

const fetchUserData = async (userId) => {
  // Simulate a database call
  console.log("Fetching from database...⏳");
  return { id: userId, name: "John Doe", age: 28 };
};

app.get("/user/:id", async (req, res) => {
  const userId = req.params.id;

  // Check Redis cache
  client.get(userId, async (err, data) => {
    if (data) {
      console.log("Cache hit! 🎯");
      return res.json(JSON.parse(data));
    }

    console.log("Cache miss! ❌ Fetching from DB...");
    const user = await fetchUserData(userId);
    client.setex(userId, 60, JSON.stringify(user));
    res.json(user);
  });
});
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🚀 حالا ، وقتی ضربه ای /user/1، درخواست اول از پایگاه داده واکشی می شود ، اما درخواست های بعدی داده ها را از Redis (راه سریعتر!) باز می گرداند.


🎯 بهترین روشها برای ذخیره سازی

  • times زمان انقضا (TTL) را تنظیم کنید تا از داده های بی نظیر جلوگیری شود.
  • ✅ هنگام تغییر داده ها در پایگاه داده ، حافظه پنهان را باطل کنید.
  • ✅ از کلیدهای حافظه نهان مناسب برای جلوگیری از درگیری استفاده کنید.
  • ✅ برای بهینه سازی عملکرد ، نسبت ضربه به حافظه نهان را کنترل کنید.

🔥 بسته شدن

ذخیره سازی می تواند عملکرد API شما را به میزان قابل توجهی بهبود بخشد. استفاده از redis با node.js به ما امکان می دهد داده های متداول درخواست شده را در حافظه ذخیره کنیم و زمان پاسخ و بار پایگاه داده را کاهش دهیم.

اگر سوالی دارید در نظرات به من اطلاع دهید! 💬😊

برنامه نویسی مبارک! 👨‍💻🔥


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا