"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تحسين أداء تسلسل JSON في Express.js باستخدام Express-fast-json-stringify

تحسين أداء تسلسل JSON في Express.js باستخدام Express-fast-json-stringify

تم النشر بتاريخ 2024-11-17
تصفح:131

Enhancing JSON Serialization Performance in Express.js with express-fast-json-stringify

يعد تسلسل JSON مهمة بالغة الأهمية في تطوير الويب، خاصة بالنسبة للتطبيقات المبنية باستخدام Node.js وExpress.js. في حين أن تسلسل JSON الأصلي في Node.js (JSON.stringify()) واضح وملائم، إلا أنه يمكن أن يصبح عنق الزجاجة في الأداء، خاصة في ظل التحميل الثقيل. تقدم هذه المقالة Express-fast-json-stringify، وهي حزمة برامج وسيطة مخصصة تستفيد من fast-json-stringify لتعزيز أداء تسلسل JSON بشكل كبير في تطبيقات Express.

ما هو سريع json-stringify؟

fast-json-stringify هي مكتبة تسلسل JSON تم تطويرها بواسطة فريق Fastify. إنه يعزز سرعة تحويل JSON من خلال تحليل تعريفات مخطط JSON وتجميعها في وظائف تسلسلية محسنة للغاية. وهذا يجعله أسرع بكثير من JSON.stringify() الأصلي، وهو مفيد بشكل خاص للتطبيقات عالية الأداء.

تقديم Express-Fast-Json-Stringify

express-fast-json-stringify عبارة عن حزمة npm توفر مزايا أداء fast-json-stringify لتطبيقات Express.js. من خلال دمج هذه الحزمة، يمكنك تحقيق تسلسل JSON أسرع، وبالتالي تحسين الأداء العام لتطبيقك.

تثبيت

أولاً، قم بتثبيت الحزمة Express-fast-json-stringify:

npm install express-fast-json-stringify

إنشاء مخطط JSON

حدد كائن المخطط الذي يحدد بنية استجابات JSON الخاصة بك. سيتم استخدام هذا المخطط بواسطة fast-json-stringify لتحسين عملية التسلسل.

import { Schema } from 'express-fast-json-stringify';

const schema: Schema = {
  title: 'Example Schema',
  type: 'object',
  properties: {
    firstName: { type: 'string' },
    lastName: { type: 'string' },
    age: {
      description: 'Age in years',
      type: 'integer',
    },
  },
};

تطبيق الوسيطة

استخدم البرنامج الوسيط fastJsonSchema في مسارات Express الخاصة بك، وقم بتمرير كائن المخطط كوسيطة. سيؤدي هذا إلى إعداد تسلسل JSON الأمثل لهذا المسار.

import express, { Request, Response, NextFunction } from 'express';
import { fastJsonSchema, Schema } from 'express-fast-json-stringify';

const app = express();

const exampleSchema: Schema = {
  title: 'Example Schema',
  type: 'object',
  properties: {
    firstName: { type: 'string' },
    lastName: { type: 'string' },
    age: { type: 'integer' },
  },
};

app.get('/', fastJsonSchema(exampleSchema), (req: Request, res: Response, next: NextFunction) => {

});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

إرسال ردود JSON

بدلاً من استخدام الطريقة الافتراضية res.json()، استخدم الطريقة res.fastJson() المتوفرة بواسطة البرنامج الوسيط لإرسال استجابات JSON. وهذا يزيد من فوائد سرعة fast-json-stringify.

import { fastJsonSchema, Schema } from 'express-fast-json-stringify';

const schema: Schema = {
  title: 'Example Schema',
  type: 'object',
  properties: {
    firstName: { type: 'string' },
    lastName: { type: 'string' },
    age: {
      description: 'Age in years',
      type: 'integer',
    },
  },
};

app.get('/', fastJsonSchema(schema), (req, res, next) => {
  try {
    const data = {
      firstName: 'Simone',
      lastName: 'Nigro',
      age: 40,
    };
    res.fastJson(data);
  } catch (error) {
    next(error);
  }
});

فوائد الأداء

يوفر استخدام Express-Fast-json-stringify العديد من فوائد الأداء:

  1. زيادة السرعة: يمكن لـ fast-json-stringify إجراء تسلسل لبيانات JSON بشكل أسرع بكثير من JSON.stringify()، خاصة لكائنات JSON المعقدة.
  2. تقليل استخدام وحدة المعالجة المركزية: التسلسل الأسرع يعني قضاء وقت أقل في وحدة المعالجة المركزية في المعالجة، مما يسمح لخادمك بمعالجة المزيد من الطلبات المتزامنة.
  3. الاتساق والتحقق من الصحة: من خلال تحديد مخططات JSON، فإنك تضمن التزام البيانات المتسلسلة ببنية محددة مسبقًا، مما يؤدي إلى تحسين اتساق البيانات وتقليل احتمالية الأخطاء.

خاتمة

يمكن أن يؤدي دمج Express-fast-json-stringify في تطبيق Express.js الخاص بك إلى توفير تحسينات كبيرة في الأداء، خاصة في السيناريوهات التي يكون فيها تسلسل JSON بمثابة عنق الزجاجة. من خلال الاستفادة من قوة fast-json-stringify، يمكنك تحقيق أوقات استجابة أسرع والتعامل مع الأحمال الأعلى، مما يجعل تطبيقك أكثر كفاءة وقابلية للتطوير.

لبدء استخدام Express-fast-json-stringify، اتبع الخطوات الموضحة في هذه المقالة، واستمتع بمزايا تسلسل JSON الأسرع في تطبيقات Express الخاصة بك. للحصول على عرض توضيحي مباشر، يمكنك الاطلاع على عرض StackBlitz التجريبي.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/nigrosimone/enhancing-json-serialization-performance-in-expressjs-with-express-fast-json-stringify-64g?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3