عبارة عن أداة اعتراضية بديهية ونحيفة لـ GraphQL، والتي تتحقق من البيانات المخزنة مؤقتًا، وتتعامل مع الطفرات باستخدام PouchDB، وترسل فقط الاستعلامات المعدلة أو غير المخزنة مؤقتًا إلى الخادم. ثم يتم تخزين البيانات التي تم إرجاعها مؤقتًا للطلبات المستقبلية.
bun install bundl-server
bun install bundl-cache
يسترد البيانات من ذاكرة التخزين المؤقت المحلية بسرعة البرق
؟ التخزين داخل الذاكرة: الوصول السريع إلى البيانات المستخدمة بشكل متكرر.
؟ التخزين المستند إلى القرص: مناسب لمجموعات البيانات الكبيرة التي لا تتناسب مع الذاكرة.
؟ مدة البقاء (TTL): الإخلاء التلقائي للبيانات القديمة بناءً على قيود الوقت أو الحجم.
يتكامل بسلاسة مع كل من قواعد البيانات العلائقية والمستندة إلى المستندات.
؟ دعم SQL: يمكنك الاتصال بسهولة بقواعد بيانات MySQL وPostgreSQL وSQLite.
؟ دعم NoSQL: خيارات للتكامل مع MongoDB وRedis وقواعد بيانات NoSQL الأخرى.
؟ المزامنة مع PouchDB وCouchDB لتوفير الوصول إلى البيانات في وضع عدم الاتصال
يضمن
؟ التحميل البطيء: جلب البيانات المطلوبة فقط، مما يقلل أوقات التحميل الأولية.
؟ معالجة الدفعات: إجراء عمليات مجمعة لتحسين الكفاءة.
؟ الفهرسة: تسريع عمليات استرجاع البيانات من خلال الفهرسة الذكية.
؟ RESTful API: سهولة التكامل مع الخدمات الأخرى.
؟ التحقق من صحة البيانات: آليات التحقق القوية لضمان سلامة البيانات.
؟ التحليلات في الوقت الفعلي: تتبع المقاييس المختلفة في الوقت الفعلي.
يستخدم Redis Stack للتخزين المؤقت للبيانات ككائنات JSON؛ يحتاج Redis Stack إلى التثبيت بشكل مستقل. يمكن العثور على تعليمات التثبيت على موقع Redis هنا.
npm install -g bun
bun install bundl-server
افتح سطر الأوامر الطرفية في مجلد الدليل الجذر الذي يضم ملف الخادم الخاص بك.
قم بتشغيل الأوامر التالية:
touch .env # will create a new `.env` file if one doesn't exist
echo " QUERY= " [enter your query here] " " >> .env
على سبيل المثال، إذا كان مخطط GraphQL يبدو كما يلي:
query samplePokeAPIquery {
pokemon_v2_pokemon_by_pk ( id : ) {
name
id
height
base_experience
weight
pokemon_v2_pokemonsprites {
id
pokemon_id
sprites
}
}
}
سيبدو إدخال QUERY="[...]"
كما يلي:
touch .env // This will create a new ` .env ` file if one doesn ' t exist
echo "QUERY="{ pokemon_v2_pokemon_by_pk(id: ) { name id height base_experience weight pokemon_v2_pokemonsprites { id pokemon_id sprites } } }"" >> .env
يعمل بشكل أفضل مع قاعدة بيانات نمط GraphQL وLRU Cache وPouchDB وCouchDB.
للحصول على معلومات حول التنفيذ من جانب العميل، يرجى زيارة ملف BunDL Client README
نحن نؤمن بقوة المصادر المفتوحة. من خلال المساهمة في BunDL، فإنك لا تُحدِث تأثيرًا على هذا المشروع فحسب، بل تدعم أيضًا مجتمع المصادر المفتوحة الأوسع. مهمتنا مع BunDL هي إنشاء أداة يمكن الوصول إليها، وكل مساهمة، كبيرة أو صغيرة، تدفع هذه الرؤية إلى الأمام.
هذا المشروع، BunDL، هو مسعى مفتوح المصدر. إذا كنت تريد فهم رحلة مشروعنا وكيفية المساهمة، قم بزيارة مستودعنا التجريبي
تم تسريعه بواسطة OS Labs وتم تطويره بواسطة Ken Iwane وShi Kuang وBrandon Do وGio Mogi و Andrew Wicker.