> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات الجلسة لـ page_cache_*

> إعدادات جلسة ClickHouse ضمن المجموعة المُولَّدة page_cache_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["الإصدار", "القيمة الافتراضية", "ملاحظة"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        سجل الإصدارات
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>النوع</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>القيمة الافتراضية</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          يمكن تغييره دون إعادة التشغيل
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

هذه الإعدادات متاحة في [system.settings](/ar/reference/system-tables/settings)، وهي مُولَّدة تلقائيًا من [المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="page_cache_block_size">
  ## page\_cache\_block\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="1048576" />

حجم أجزاء الملف التي ستُخزَّن في ذاكرة تخزين الصفحات المؤقتة في فضاء المستخدم، بالبايت. ستُقرَّب جميع عمليات القراءة التي تمر عبر ذاكرة التخزين المؤقت إلى أقرب مضاعف لهذا الحجم.

يمكن ضبط هذا الإعداد على مستوى كل استعلام، لكن لا يمكن إعادة استخدام إدخالات ذاكرة التخزين المؤقت ذات أحجام الكتل المختلفة. ويؤدي تغيير هذا الإعداد فعليًا إلى إبطال الإدخالات الموجودة حاليًا في ذاكرة التخزين المؤقت.

تكون القيمة الأكبر، مثل 1 MiB، مناسبة للاستعلامات عالية الإنتاجية، بينما تكون القيمة الأصغر، مثل 64 KiB، مناسبة للاستعلامات النقطية منخفضة الكمون.

<div id="page_cache_inject_eviction">
  ## page\_cache\_inject\_eviction
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

قد تُبطِل ذاكرة تخزين الصفحات المؤقتة في فضاء المستخدم بعض الصفحات عشوائيًا من حين لآخر. هذا مخصص للاختبار.

<div id="page_cache_lookahead_blocks">
  ## page\_cache\_lookahead\_blocks
</div>

<SettingsInfoBlock type="UInt64" default_value="16" />

عند حدوث إخفاق في ذاكرة تخزين الصفحات المؤقتة في فضاء المستخدم، يُقرأ هذا العدد من الكتل المتتالية دفعةً واحدة من التخزين الأساسي إذا لم تكن موجودة أيضًا في ذاكرة التخزين المؤقت. ويبلغ حجم كل كتلة `page_cache_block_size` بايت.

تكون القيمة الأعلى مناسبةً للاستعلامات عالية الإنتاجية، بينما تعمل الاستعلامات النقطية منخفضة الكمون بشكل أفضل من دون القراءة الاستباقية.

<div id="page_cache_max_coalesced_bytes">
  ## page\_cache\_max\_coalesced\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="16777216" />

عندما يعبّئ `readBigAt` ذاكرة تخزين الصفحات المؤقتة في فضاء المستخدم، تُدمَج حالات الإخفاق المتتالية في ذاكرة التخزين المؤقت في قراءة واحدة من التخزين الأساسي. يحدّد هذا الإعداد حجم القراءة المدمجة الواحدة بالبايت؛ وتُقسَّم سلاسل الإخفاق الأطول إلى عدة قراءات. ويحدّ ذلك من الاستخدام العابر للذاكرة في المخزن المؤقت المؤقت أثناء القراءات الباردة المتوازية.

تؤدي القيمة الأعلى إلى تقليل عدد طلبات HTTP لعمليات الفحص البارد على التخزين الكائني؛ بينما تقلّل القيمة الأقل ذروة الاستخدام العابر للذاكرة.
