logo

Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll
19/06/2025, by Ivan

Cache max-age = ժամանակային կախվածություններ

Cache max-age-ն նման է HTTP Cache-Control հեդերի max-age հրահանգին։

Ինչու՞

Կեշի առավելագույն տարիքը տրամադրում է հայտարարագրական միջոց ստեղծելու ժամանակով պայմանավորված կեշեր։

Որոշ տվյալներ գործում են միայն սահմանափակ ժամանակահատվածում, այդ դեպքում ցանկանում եք նշել համապատասխան առավելագույն տարիքը։ Սակայն Drupal 8-ի միջուկի դեպքում մեզ մոտ չկա միայն սահմանափակ ժամանակով գործող տվյալներ. մենք սովորաբար պահում ենք կեշը մշտապես (տես ստորև) և ամբողջովին հույս ունենք կեշի թեգերի վրա՝ չեղարկման համար։

Ինչպիսի՞ն է

Կեշի առավելագույն տարիքը դրական ամբողջ թիվ է, որը արտահայտում է վայրկյանների քանակը։

Կեշի առավելագույն տարիքը փոխանցվում է որպես մեկ ամբողջ թիվ, քանի որ տվյալ կեշ տարրի համար տրամաբանականորեն կարող է լինել միայն մեկ առավելագույն տարիք։

Օրինակներ․

  • 60 նշանակում է կեշավորման 60 վայրկյան
  • 100 նշանակում է կեշավորման 100 վայրկյան
  • 0 նշանակում է կեշավորում 0 վայրկյան, այսինքն՝ չի կեշավորվում
  • \Drupal\Core\Cache\Cache::PERMANENT նշանակում է, որ կեշավորվում է անվերջ, այսինքն՝ այն կչեղարկվի միայն կեշի թեգերի միջոցով (այլ կերպ ասած՝ անսահման վայրկյաններ)

Այդ պատճառով, օրինակ, եթե ցանկանում եք կանխել ռենդերացված բլոկի կեշավորումը, պետք է max-age-ը սահմանեք 0։

Օրինակ հիմնական ռենդերինգի զանգվածների համար․

$build['#cache']['max-age'] = 0;

Օրինակ ֆունկցիայի մեջ․

\Drupal::cache()->set('my_cache_item', $school_list, REQUEST_TIME + (86400));

Եթե ցանկանում եք բլոկի max-age-ը դարձնել 0, պետք է իրականացնել getCacheMaxAge մեթոդը։

Առավելագույն տարիքի սահմանափակումներ

Ցավոք, max-age-ը չի աշխատում անանուն օգտատերերի և Drupal միջուկի Page Cache մոդուլի համար։ Օրինակ դիտեք հետևյալ խնդիրները․

Դուք պետք է հիշեք, որ մինչ այս (և, հնարավոր է, այլ) խնդիրները լուծվեն, max-age-ի սահմանումը ռենդերային զանգվածի համար, որը ներառված է էջում, բավարար չէ, որպեսզի անանուն օգտատերերը տեսնեն նոր տարբերակը max-age-ի ավարտից հետո։ Միևնույն ժամանակ, Cache Control Override մոդուլը փորձում է մեղմել այդ խնդիրները։ Կարող եք նաև հաջողություն ունենալ՝ սահմանելով անհատական կեշի թեգ ժամկետային կախվածության էջերի համար և ձեռքով չեղարկել այդ թեգերը hook_cron()-ի միջոցով։ Բարի հաջողություն!

Source URL:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.