حافظه داخلی کش

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

این مبحث عملکرد حافظه پنهان زیر خط مشی هایی مانند خط مشی Populate Cache ، خط مشی LookupCache ، سیاست InvalidateCache ، و Response Cache را شرح می دهد.

حافظه پنهان مشترک و محیطی

هر خط مشی کشی که پیکربندی می‌کنید می‌تواند از یکی از دو نوع حافظه پنهان استفاده کند: یک حافظه پنهان مشترک که برنامه‌های شما به آن دسترسی دارند و یک یا چند حافظه پنهان با محدوده محیطی که ایجاد می‌کنید.

  • حافظه پنهان مشترک: به طور پیش فرض، پراکسی های شما به یک حافظه پنهان مشترک در هر محیط دسترسی دارند. حافظه پنهان مشترک برای موارد استفاده اولیه به خوبی کار می کند.

    فقط با استفاده از سیاست‌های حافظه پنهان، نه API مدیریت، می‌توانید با حافظه پنهان مشترک کار کنید. برای داشتن یک خط مشی کش استفاده از حافظه پنهان مشترک، به سادگی عنصر <CacheResource> خط مشی را حذف کنید.

  • حافظه پنهان محیط: هنگامی که می‌خواهید ویژگی‌های کش را با مقادیری که انتخاب می‌کنید پیکربندی کنید، می‌توانید یک کش با محدوده محیطی ایجاد کنید. برای اطلاعات بیشتر درباره ایجاد حافظه پنهان، به ایجاد و ویرایش کش محیطی مراجعه کنید.

    هنگامی که یک کش محیطی ایجاد می کنید، ویژگی های پیش فرض آن را پیکربندی می کنید. شما می توانید با تعیین نام کش در عنصر <CacheResource> خط مشی کش، از کش محیط استفاده کند.

درباره رمزگذاری کش

Edge for Public Cloud: کش فقط در سازمان‌های دارای PCI و HIPAA رمزگذاری می‌شود. رمزگذاری برای آن سازمان ها در حین تهیه سازمان پیکربندی می شود.

سطوح حافظه پنهان و ماندگار

حافظه پنهان مشترک و محیطی هر دو بر روی یک سیستم دو سطحی ساخته شده اند که از یک سطح درون حافظه و یک سطح پایدار تشکیل شده است. سیاست ها به عنوان یک چارچوب ترکیبی با هر دو سطح تعامل دارند. Edge ارتباط بین سطوح را مدیریت می کند.

  • سطح 1 یک کش در حافظه (L1) برای دسترسی سریع است . هر گره پردازش پیام (MP) دارای حافظه پنهان (که از Ehcache پیاده‌سازی شده است) برای سریع‌ترین پاسخ به درخواست‌ها دارد.
    • در هر گره، درصد معینی از حافظه برای استفاده توسط کش ذخیره می شود.
    • با رسیدن به محدودیت حافظه، Apigee Edge ورودی‌های کش را از حافظه حذف می‌کند (اگرچه آنها هنوز در حافظه پنهان L2 نگهداری می‌شوند) تا اطمینان حاصل شود که حافظه برای سایر فرآیندها در دسترس باقی می‌ماند.
    • ورودی‌ها به ترتیب زمانی از آخرین دسترسی حذف می‌شوند و قدیمی‌ترین ورودی‌ها ابتدا حذف می‌شوند.
    • این کش ها نیز با تعداد ورودی های کش محدود می شوند.
  • سطح 2 یک کش دائمی (L2) در زیر حافظه پنهان است . همه گره‌های پردازش پیام، یک ذخیره‌سازی داده‌های کش (Cassandra) را برای ورودی‌های حافظه پنهان به اشتراک می‌گذارند.
    • ورودی‌های حافظه پنهان در اینجا باقی می‌مانند، حتی پس از حذف آنها از حافظه نهان L1، مانند زمانی که به محدودیت‌های درون حافظه رسیده‌اند.
    • از آنجایی که حافظه پنهان دائمی بین پردازنده‌های پیام به اشتراک گذاشته می‌شود (حتی در مناطق مختلف)، ورودی‌های کش بدون در نظر گرفتن اینکه کدام گره درخواست داده‌های ذخیره‌شده را دریافت می‌کند، در دسترس هستند.
    • فقط ورودی‌های با اندازه معین ممکن است در حافظه پنهان ذخیره شوند و محدودیت‌های دیگری برای حافظه پنهان اعمال می‌شود. به مدیریت محدودیت های حافظه پنهان مراجعه کنید.

همچنین ممکن است به Apigee Edge Caching In Detail در انجمن Apigee علاقه مند باشید.

نحوه استفاده سیاست ها از حافظه پنهان

در زیر توضیح می‌دهد که چگونه Apigee Edge ورودی‌های حافظه پنهان را در حالی که خط‌مشی‌های کش شما کار خود را انجام می‌دهند، مدیریت می‌کند.

  • هنگامی که یک خط مشی یک ورودی جدید به حافظه پنهان می نویسد (PopulateCache یا ResponseCache Policy):
    1. Edge ورودی حافظه نهان L1 را فقط روی پردازشگر پیامی که درخواست را مدیریت کرده است می نویسد. اگر محدودیت های حافظه در پردازنده پیام قبل از انقضای ورودی به پایان برسد، Edge ورودی را از حافظه نهان L1 حذف می کند.
    2. Edge همچنین ورودی حافظه نهان L2 را می نویسد.
  • هنگامی که یک خط مشی از حافظه پنهان خوانده می شود (خط مشی LookupCache یا ResponseCache):
    1. Edge ابتدا به دنبال ورودی در حافظه نهان L1 پردازنده پیام است که درخواست را مدیریت می کند.
    2. اگر ورودی مربوطه در حافظه وجود نداشته باشد، Edge به دنبال ورودی در حافظه پنهان L2 می گردد.
    3. اگر ورودی در حافظه پنهان دائمی نباشد:
      • سیاست LookupCache: هیچ مقداری از حافظه پنهان بازیابی نمی شود.
      • سیاست ResponseCache: Edge پاسخ واقعی را از هدف به مشتری برمی‌گرداند و ورودی را تا زمانی که منقضی شود یا باطل شود در حافظه پنهان ذخیره می‌کند.
  • وقتی یک خط‌مشی یک ورودی حافظه پنهان موجود را به‌روزرسانی یا باطل می‌کند (سیاست InvalidateCache، PopulateCache یا ResponseCache):
    1. پردازشگر پیام که درخواست را دریافت می کند، یک پخش برای به روز رسانی یا حذف ورودی در حافظه نهان L1 روی خود و سایر پردازشگرهای پیام در همه مناطق ارسال می کند.
      • اگر پخش موفقیت آمیز باشد، هر پردازشگر پیام دریافتی ورودی را در حافظه نهان L1 به روز می کند یا حذف می کند.
      • اگر پخش ناموفق باشد، مقدار حافظه پنهان نامعتبر در حافظه نهان L1 در پردازنده‌های پیامی که پخش را دریافت نکرده‌اند، باقی می‌ماند. این پردازشگرهای پیام تا زمانی که زمان ماندگاری ورودی (TTL) منقضی شود یا با رسیدن به محدودیت‌های حافظه پردازشگر پیام حذف شود، داده‌های قدیمی در حافظه پنهان L1 خواهند داشت.
    2. پخش همچنین ورودی را در حافظه نهان L2 به روز می کند یا حذف می کند.

مدیریت محدودیت های حافظه پنهان

از طریق پیکربندی، می توانید برخی از جنبه های کش را مدیریت کنید. فضای کلی موجود برای کش در حافظه توسط منابع سیستم محدود شده و قابل تنظیم نیست. محدودیت های زیر برای کش اعمال می شود:

  • محدودیت‌های حافظه پنهان : محدودیت‌های حافظه پنهان اعمال می‌شود، مانند اندازه نام و مقدار، تعداد کل حافظه‌های پنهان، تعداد موارد موجود در حافظه پنهان و انقضا.
  • کش در حافظه (L1). محدودیت های حافظه برای کش شما قابل تنظیم نیست. محدودیت‌هایی توسط Apigee برای هر پردازشگر پیام که حافظه پنهان را برای چندین مشتری میزبانی می‌کند، تعیین می‌کند.

    در یک محیط ابری میزبانی شده، جایی که کش های درون حافظه برای همه استقرارهای مشتری در چندین پردازنده پیام مشترک میزبانی می شوند، هر پردازنده دارای آستانه درصد حافظه قابل تنظیم Apigee است تا اطمینان حاصل شود که کش تمام حافظه برنامه را مصرف نمی کند. با عبور از آستانه برای یک پردازشگر پیام معین، ورودی های حافظه پنهان بر اساس حداقل استفاده اخیر از حافظه خارج می شوند. ورودی های خارج شده از حافظه تا زمانی که منقضی شوند یا باطل شوند در حافظه نهان L2 باقی می مانند.

  • حافظه پنهان دائمی (L2). ورودی های خارج شده از حافظه نهان در حافظه پنهان با توجه به تنظیمات قابل تنظیم زمان تا زندگی در حافظه پنهان باقی می مانند.

بهینه سازی های قابل تنظیم

جدول زیر تنظیماتی را که می توانید برای بهینه سازی عملکرد حافظه پنهان استفاده کنید، فهرست می کند. همانطور که در ایجاد و ویرایش کش محیطی توضیح داده شده است، می توانید هنگام ایجاد کش محیطی جدید، مقادیری را برای این تنظیمات مشخص کنید.

تنظیم توضیحات یادداشت ها
انقضا زمان زندگی برای ورودی های حافظه پنهان را مشخص می کند. هیچ کدام.