شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
این مبحث، عملکرد حافظه پنهان (cache) را در زیر سیاستهایی مانند سیاست Populate Cache ، سیاست LookupCache ، سیاست InvalidateCache و سیاست Response Cache شرح میدهد.
حافظههای نهان مشترک و محیطی
هر سیاست ذخیرهسازی که پیکربندی میکنید میتواند از یکی از دو نوع حافظه پنهان استفاده کند: یک حافظه پنهان مشترک که برنامههای شما به آن دسترسی دارند و یک یا چند حافظه پنهان با محدوده محیطی که شما ایجاد میکنید.
- حافظه پنهان مشترک: به طور پیشفرض، پروکسیهای شما در هر محیط به یک حافظه پنهان مشترک دسترسی دارند. حافظه پنهان مشترک برای موارد استفاده اساسی به خوبی کار میکند.
شما فقط میتوانید با استفاده از سیاستهای ذخیرهسازی، نه API مدیریت، با حافظه پنهان مشترک کار کنید. برای اینکه یک سیاست ذخیرهسازی از حافظه پنهان مشترک استفاده کند، کافیست عنصر
<CacheResource>مربوط به سیاست را حذف کنید. - حافظه پنهان محیطی: وقتی میخواهید ویژگیهای حافظه پنهان را با مقادیری که خودتان انتخاب میکنید پیکربندی کنید، میتوانید یک حافظه پنهان در محدوده محیطی ایجاد کنید. برای اطلاعات بیشتر در مورد ایجاد حافظه پنهان، به ایجاد و ویرایش حافظه پنهان محیطی مراجعه کنید.
وقتی یک حافظه پنهان محیطی ایجاد میکنید، ویژگیهای پیشفرض آن را پیکربندی میکنید. میتوانید با مشخص کردن نام حافظه پنهان در عنصر
<CacheResource>مربوط به سیاست، یک سیاست ذخیرهسازی داشته باشید که از حافظه پنهان محیطی استفاده کند.
درباره رمزگذاری حافظه پنهان
Edge برای فضای ابری عمومی: حافظه پنهان (Cache) فقط در سازمانهایی که از PCI و HIPAA پشتیبانی میکنند، رمزگذاری میشود. رمزگذاری برای این سازمانها در طول آمادهسازی سازمان پیکربندی میشود.
سطوح حافظه پنهان درون حافظه و حافظه پنهان پایدار
هر دو حافظه پنهان مشترک و محیطی بر روی یک سیستم دو سطحی ساخته شدهاند که از یک سطح درون حافظهای و یک سطح پایدار تشکیل شده است. سیاستها با هر دو سطح به عنوان یک چارچوب ترکیبی تعامل دارند. لبه (Edge) رابطه بین سطوح را مدیریت میکند.

- سطح ۱ یک حافظه پنهان درون حافظهای (L1) برای دسترسی سریع است . هر گره پردازش پیام (MP) حافظه پنهان درون حافظهای مخصوص به خود (که از Ehcache پیادهسازی شده است) را برای سریعترین پاسخ به درخواستها دارد.
- در هر گره، درصد مشخصی از حافظه برای استفاده توسط حافظه پنهان (cache) رزرو شده است.
- با رسیدن به محدودیت حافظه، Apigee Edge ورودیهای حافظه پنهان را از حافظه حذف میکند (اگرچه آنها هنوز در حافظه پنهان پایدار L2 نگهداری میشوند) تا اطمینان حاصل شود که حافظه برای سایر فرآیندها در دسترس است.
- ورودیها به ترتیب زمانی از آخرین دسترسی حذف میشوند، به طوری که قدیمیترین ورودیها ابتدا حذف میشوند.
- این حافظههای نهان همچنین توسط تعداد ورودیهای موجود در حافظه نهان محدود میشوند.
- سطح ۲ یک حافظه پنهان پایدار (L2) در زیر حافظه پنهان درون حافظهای است . همه گرههای پردازش پیام، یک مخزن داده حافظه پنهان (کاساندرا) را برای ورودیهای حافظه پنهان پایدار، به اشتراک میگذارند.
- ورودیهای حافظه پنهان حتی پس از حذف شدن از حافظه پنهان سطح ۱، مانند زمانی که به محدودیتهای حافظه داخلی رسیدهایم، در اینجا باقی میمانند.
- از آنجا که حافظه پنهان پایدار بین پردازندههای پیام (حتی در مناطق مختلف) به اشتراک گذاشته میشود، ورودیهای حافظه پنهان صرف نظر از اینکه کدام گره درخواستی برای دادههای ذخیره شده دریافت میکند، در دسترس هستند.
- فقط ورودیهایی با اندازه مشخص میتوانند در حافظه پنهان ذخیره شوند و محدودیتهای حافظه پنهان دیگری نیز اعمال میشود. به مدیریت محدودیتهای حافظه پنهان مراجعه کنید.
همچنین ممکن است به جزئیات Apigee Edge Caching در انجمن Apigee علاقهمند باشید.
نحوه استفاده سیاستها از حافظه پنهان
در ادامه نحوه مدیریت ورودیهای حافظه پنهان توسط Apigee Edge در حین اجرای سیاستهای ذخیرهسازی شما توضیح داده شده است.
- وقتی یک سیاست ، ورودی جدیدی را در حافظه پنهان مینویسد (سیاست PopulateCache یا ResponseCache):
- Edge ورودی را فقط روی پردازنده پیامی که درخواست را مدیریت کرده است، در حافظه نهان L1 مینویسد. اگر قبل از انقضای ورودی، محدودیت حافظه در پردازنده پیام به پایان برسد، Edge ورودی را از حافظه نهان L1 حذف میکند.
- Edge همچنین ورودی را در حافظه نهان L2 مینویسد.
- وقتی یک سیاست از حافظه پنهان میخواند (سیاست LookupCache یا ResponseCache):
- لبه ابتدا به دنبال ورودی موجود در حافظه نهان L1 پردازنده پیام که درخواست را مدیریت میکند، میگردد.
- اگر هیچ ورودی متناظری در حافظه وجود نداشته باشد، Edge به دنبال ورودی در حافظه پنهان پایدار L2 میگردد.
- اگر ورودی در حافظه پنهان دائمی نیست:
- سیاست LookupCache: هیچ مقداری از حافظه پنهان بازیابی نمیشود.
- سیاست ResponseCache: Edge پاسخ واقعی را از هدف به کلاینت برمیگرداند و ورودی را در حافظه پنهان ذخیره میکند تا زمانی که منقضی شود یا نامعتبر شود.
- وقتی یک سیاست، ورودی کش موجود را بهروزرسانی یا نامعتبر میکند (سیاستهای InvalidateCache، PopulateCache یا ResponseCache):
- پردازنده پیام که درخواست را دریافت میکند، یک اعلان پخش (broadcast) برای بهروزرسانی یا حذف ورودی موجود در حافظه نهان سطح ۱ (L1 cache) روی خود و سایر پردازندههای پیام در تمام مناطق ارسال میکند.
- اگر پخش موفقیتآمیز باشد، هر پردازنده پیام گیرنده، ورودی موجود در حافظه نهان سطح ۱ را بهروزرسانی یا حذف میکند.
- اگر پخش ناموفق باشد، مقدار کش نامعتبر در حافظه نهان سطح ۱ پردازندههای پیامی که پخش را دریافت نکردهاند، باقی میماند. این پردازندههای پیام تا زمانی که زمان حیات (TTL) ورودی منقضی شود یا زمانی که به محدودیت حافظه پردازنده پیام برسد، حذف شود، دادههای قدیمی در حافظه نهان سطح ۱ خواهند داشت.
- این پخش همچنین ورودی موجود در حافظه نهان سطح ۲ (L2 cache) را بهروزرسانی یا حذف میکند.
- پردازنده پیام که درخواست را دریافت میکند، یک اعلان پخش (broadcast) برای بهروزرسانی یا حذف ورودی موجود در حافظه نهان سطح ۱ (L1 cache) روی خود و سایر پردازندههای پیام در تمام مناطق ارسال میکند.
مدیریت محدودیتهای حافظه پنهان
از طریق پیکربندی، میتوانید برخی از جنبههای حافظه پنهان را مدیریت کنید. فضای کلی موجود برای حافظه پنهان درون حافظه توسط منابع سیستم محدود شده و قابل تنظیم نیست. محدودیتهای زیر برای حافظه پنهان اعمال میشود:
- محدودیتهای حافظه پنهان : محدودیتهای مختلفی برای حافظه پنهان اعمال میشود، مانند نام و اندازه مقدار، تعداد کل حافظههای پنهان، تعداد موارد موجود در حافظه پنهان و تاریخ انقضا.
- حافظه پنهان درون حافظه (L1). محدودیتهای حافظه پنهان شما قابل تنظیم نیستند. این محدودیتها توسط Apigee برای هر پردازنده پیام که میزبان حافظههای پنهان برای چندین مشتری است، تعیین میشوند.
در یک محیط ابری میزبانیشده، که در آن حافظههای پنهان درون حافظه برای همه استقرارهای مشتری در چندین پردازنده پیام مشترک میزبانی میشوند، هر پردازنده دارای یک آستانه درصد حافظه قابل تنظیم توسط Apigee است تا اطمینان حاصل شود که ذخیرهسازی، تمام حافظه برنامه را مصرف نمیکند. با عبور از آستانه برای یک پردازنده پیام مشخص، ورودیهای حافظه پنهان بر اساس کمترین استفاده اخیر از حافظه خارج میشوند. ورودیهای خارجشده از حافظه تا زمانی که منقضی شوند یا نامعتبر شوند، در حافظه پنهان L2 باقی میمانند.
- حافظه پنهان پایدار (L2). ورودیهایی که از حافظه پنهان درون حافظه حذف میشوند، طبق تنظیمات زمان ماندگاری قابل تنظیم، در حافظه پنهان پایدار باقی میمانند.
بهینهسازیهای قابل تنظیم
جدول زیر تنظیماتی را که میتوانید برای بهینهسازی عملکرد حافظه پنهان استفاده کنید، فهرست میکند. میتوانید هنگام ایجاد یک حافظه پنهان محیطی جدید، همانطور که در ایجاد و ویرایش حافظه پنهان محیطی توضیح داده شده است، مقادیری را برای این تنظیمات تعیین کنید.
| تنظیم | توضیحات | یادداشتها |
|---|---|---|
| انقضا | مدت زمان ماندگاری ورودیهای حافظه پنهان (cache) را مشخص میکند. | هیچ کدام. |