أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
يمكنك استخدام وحدة apigee-access
للوصول إلى ذاكرة التخزين المؤقت الموزعة في Edge من
داخل تطبيق Node.js. تتضمن الوحدة طرق للحصول على
ذاكرة التخزين المؤقت ووضعها والحصول عليها وإزالتها.
إنّ ذاكرة التخزين المؤقت الموزَّعة في Apigee Edge تتيح لك تخزين السلاسل أو البيانات الأخرى. مثل معظم ذاكرات التخزين المؤقت، هي ذاكرة تخزين مؤقت تم استخدامها مؤخرًا وحد أقصى للحجم. داخل Apigee Edge، يتم توزيع ذاكرة التخزين المؤقت. بين جميع العُقد التي يتم فيها تنفيذ تطبيق Node.js. يمكنك إدارة ذاكرة التخزين المؤقت من خلال واجهة برمجة التطبيقات في Apigee Edge باستخدام واجهة برمجة التطبيقات، يمكنك إنشاء موارد ذاكرة التخزين المؤقت يدويًا، أو يمكنك استخدام المورد الافتراضي. للاطّلاع على مقدمة عن التخزين المؤقت في Apigee Edge، يُرجى الاطّلاع على أدوات Persistence في Edge. معرفة المزيد حول ذاكرة التخزين المؤقت الموزعة، راجع مثال: أغراض عامة التخزين المؤقت.
للاطّلاع على مقدمة عن وحدة apigee-access
وميزاتها الأخرى، يُرجى مراجعة
استخدام وحدة الوصول إلى واجهة برمجة التطبيقات (apigee):
الطُرق
- (1) getCache
- (2) getCache
- put
- الحصول على
- إزالة
(1) الطريقة getcache
var
cache = apigee.getCache(cacheName);
ابحث عن ذاكرة تخزين مؤقت مُسَمّاة وأنشِئها إذا لزم الأمر. تستخدم ذاكرة التخزين المؤقت الناتجة مجموعة محددة مسبقًا من معلمات التهيئة المناسبة لمعظم المواقف.
المَعلمات:
cacheName - سلسلة، واسم ذاكرة التخزين المؤقت. (ليس اسم مورد ذاكرة التخزين المؤقت).
المرتجعات:
كائن ذاكرة التخزين المؤقت
مثال:
var apigee = require('apigee-access'); var cache = apigee.getCache('cache');
(2) الطريقة getcache
var
customCache = apigee.getCache(cacheName, options );
الوصول إلى مورد ذاكرة تخزين مؤقت مخصَّص محدَّد في كائن ضبط للحصول على معلومات حول كيفية لإنشاء مورد ذاكرة تخزين مؤقت، راجع إنشاء بيئة وتعديلها ذاكرة التخزين المؤقت.
المَعلمات:
cacheName - سلسلة، واسم ذاكرة تخزين مؤقت مخصصة. (ليس اسم مورد ذاكرة التخزين المؤقت)
options - كائن إعداد. تشير رسالة الأشكال البيانية فارغًا، أو يمكن أن يحتوي على المعلمات الاختيارية التالية:
-
resource
: اسم "مورد ذاكرة التخزين المؤقت" في Apigee حيث تخزين بيانات ذاكرة التخزين المؤقت. تُستخدَم موارد ذاكرة التخزين المؤقت لتحسين عملية تخصيص الذاكرة وذاكرة التخزين المؤقت الأخرى المعلَمات. إذا لم يتم تحديده، سيتم استخدام مورد تلقائي. إذا لم يكن مورد ذاكرة التخزين المؤقت موجودًا، فستعرض الطريقة خطأ. -
scope
: تحدِّد هذه السياسة ما إذا كانت إدخالات ذاكرة التخزين المؤقت بادئة إلى وتمنع الاصطدامات. القيم الصالحة هيglobal
وapplication
وexclusive
-
global
: يمكن لجميع تطبيقات Node.js في ذاكرة التخزين المؤقت الاطّلاع على جميع إدخالات ذاكرة التخزين المؤقت. نفس "بيئة" Apigee. -
application
: يمكن لجميع ذاكرات التخزين المؤقت في Node.js عرض جميع إدخالات ذاكرة التخزين المؤقت في تطبيق Apigee Edge نفسه. -
exclusive
: (تلقائي) لا تظهر إدخالات ذاكرة التخزين المؤقت إلا من خلال ذاكرات التخزين المؤقت في Node.js في التطبيق ذاته الذي يحمل الاسم ذاته. هذا هو الخيار التلقائي.
-
-
prefix
: إذا كان اسم مفتاح ذاكرة التخزين المؤقت يتضمّن بادئة، مثل كما هو موضح في تعبئة سياسة ذاكرة التخزين المؤقت والعمل باستخدام مفاتيح ذاكرة التخزين المؤقت، استخدم هذه المعلمة لتحديدها. يضيف Edge تلقائيًا لاحقة شرطة سفلية مزدوجة إلى . لذلك إذا تم إنشاء مفتاح ذاكرة تخزين مؤقت مع البادئة "UserToken"، فيمكن تحديد هنا "UserToken__". -
defaultTtl
: تحدِّد هذه السياسة الوقت التلقائي لاستخدام ذاكرة التخزين المؤقت. الإدخال في غضون ثوانٍ. إذا لم يتم تحديده، فستكون مدة البقاء (TTL) الافتراضية في مورد ذاكرة التخزين المؤقت استخدام البيانات المختلفة. -
timeout
: مدة الانتظار للحصول على نتيجة من ذاكرة التخزين المؤقت الموزعة بالثواني. القيمة التلقائية هي 30 ثانية. قد تحتاج التطبيقات الحساسة لوقت الاستجابة في حال كنت ترغب في تقليل هذا الأمر لمنع أوقات الاستجابة البطيئة إذا كانت البنية الأساسية لذاكرة التخزين المؤقت تحميل زائد.
المرتجعات:
كائن ذاكرة تخزين مؤقت مخصّص
مثال:
var apigee = require('apigee-access'); var customCache = apigee.getCache('doesNotMatter', { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} ); customCache.put("myCacheKey", "xyz");
تعمل هذه الطريقة مع سياسة WebGLcache تم ضبطها على النحو التالي:
<LookupCache name="Lookup-Cache-1"> <CacheKey> <Prefix>UserToken</prefix> <KeyFragment>myCacheKey</KeyFragment> </CacheKey> <CacheResource>MyCustomResource</CacheResource> <Scope>Global</Scope> <AssignTo>contextVariable</AssignTo> </LookupCache>
وضع
cache.put('key',
data, ttl, function(error));
وضع البيانات في ذاكرة تخزين مؤقت.
المَعلمات:
-
key
: (مطلوبة) سلسلة يتم تحديدها بشكلٍ فريد العنصر في ذاكرة التخزين المؤقت. الحد الأقصى لحجم مفاتيح ذاكرة التخزين المؤقت هو 2 كيلوبايت. -
data
: (مطلوبة) سلسلة أو مستودع مؤقت أو كائن البيانات المخزنة مؤقتًا. سيؤدي أي نوع بيانات آخر إلى حدوث خطأ. للتيسير عليك، سيتم تحويل الكائنات إلى سلسلة باستخدام "JSON.stringify". -
ttl
: (اختياري) الحد الأقصى للوقت للاحتفاظ البيانات في ذاكرة التخزين المؤقت بالثواني. وفي حال عدم تحديدها، سيتم استخدام مدة بقاء تلقائية. -
callback
: (اختيارية) في حال تحديدها، دالة عند تخزين البيانات بأمان في ذاكرة التخزين المؤقت. سيتم استدعاؤه باستخدام كائن "خطأ" باعتبارها المعلمة الأولى في حالة وجود خطأ إدراج، وبخلاف ذلك سيتم استدعائها باستخدام لا توجد معلمات.
مثال:
var apigee = require('apigee-access'); var cache = apigee.getCache(); // Insert a string into cache using the default TTL cache.put('key1', 'Buenos dias, Mundo!'); // Insert a string into cache using a TTL of 120 seconds cache.put('key2', 'Hello, World!', 120); // Insert a string with the default TTL, and get notified when the insert is complete cache.put('key3', 'Ciao, Mondo!', function(error) { // "error" will be falsy unless there was an error on insert }); // Insert a string with a TTL of 600 seconds, and get notified when the insert is complete cache.put('key4', 'Hallo Wereld!', 600, function(error) { // "error" will be falsy unless there was an error on insert });
الحصول على
cache.get('key',
function(error, data));
استرداد البيانات من ذاكرة التخزين المؤقت.
المَعلمات:
-
key
(مطلوبة): سلسلة تُعرّف بشكلٍ فريد العنصر في ذاكرة التخزين المؤقت.بالنسبة إلى إدخالات ذاكرة التخزين المؤقت التي يتم إدخالها في ذاكرة التخزين المؤقت من سياسة Apigee Edge (مثل سياسة تعبئة ذاكرة التخزين المؤقت)، عليك إجراء ما يلي: إنشاء مفتاح ذاكرة التخزين المؤقت من خلال الاستنتاج من الطريقة المحدّدة التي تنشئ بها السياسة للإدخالات. لإجراء ذلك، عليك معرفة كيفية ضبط السياسة. بينما العمل باستخدام مفاتيح ذاكرة التخزين المؤقت كيفية إنشاء السياسات لمفاتيح ذاكرة التخزين المؤقت، ضع في اعتبارك أنه لا ينبغي تحديد قيم السلسلة المتعلقة بالنطاق في الطلبات الواردة من Node.js، فإن النطاق يكون بالفعل جزءًا من السياق.
-
callback
(مطلوبة): دالة سيتم استدعاؤها عندما تتوفر البيانات. إذا كانت هناك بيانات مخزّنة مؤقتًا، فسيتم إرجاعها في .-
error
: عنصر خطأ في حال وجود خطأ أثناء الاسترجاع من ذاكرة التخزين المؤقت، فسيتم تعيين كائن "خطأ" هنا. وبخلاف ذلك، هذا على "غير محدَّدة". -
data
: البيانات التي تم استردادها، إن توفّرت ستكون واحدة من أربع قيم:- إذا تم إدراج سلسلة، فستكون سلسلة.
- إذا تم إدراج "مخزن مؤقت"، سيصبح "مخزنًا مؤقتًا".
- إذا تم إدراج كائن، فهو عبارة عن سلسلة تحتوي على إصدار JSON من كما تم إنتاجه من خلال "JSON.stringify".
- وإذا لم يتم العثور على أي نتائج، ستكون الحالة "غير محدّدة".
-
مثال:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.get('key', function(error, data) { // If there was an error, then "error" will be set. // If error is falsy, "data" is the item that was retrieved: // - undefined, in the case of cache miss, or // - a Buffer, or // - a String });
إزالة
cache.remove('key', function(error));
إلغاء صلاحية عنصر مخزَّن مؤقتًا بعد إلغاء صلاحية أحد المفاتيح، سيتم عرض طلبات get() اللاحقة "غير محدّد" ما لم يتم إدراج قيمة أخرى.
المَعلمات:
-
key
(مطلوبة): سلسلة يتم تحديدها بشكلٍ فريد العنصر في ذاكرة التخزين المؤقت لإلغاء الصلاحية.بالنسبة إلى إدخالات ذاكرة التخزين المؤقت التي يتم إدخالها في ذاكرة التخزين المؤقت من سياسة Apigee Edge (مثل سياسة تعبئة ذاكرة التخزين المؤقت)، عليك إجراء ما يلي: إنشاء مفتاح ذاكرة التخزين المؤقت من خلال الاستنتاج من الطريقة المحدّدة التي تنشئ بها السياسة للإدخالات. لإجراء ذلك، عليك معرفة كيفية ضبط السياسة. بينما العمل باستخدام مفاتيح ذاكرة التخزين المؤقت كيفية إنشاء السياسات لمفاتيح ذاكرة التخزين المؤقت، ضع في اعتبارك أنه لا ينبغي تحديد قيم السلسلة المتعلقة بالنطاق في الطلبات الواردة من Node.js، فإن النطاق يكون بالفعل جزءًا من السياق.
-
callback
(مطلوبة): دالة استدعاء والتي مع استخدام كائن "خطأ" كمعامل أول في حال حدوث خطأ.
مثال:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.remove('key', function(error) { });