Puncte:0

Există vreo modalitate de a controla modul în care RouteProvider memorează în cache o rută?

drapel ar

Drupal păstrează în cache rutele în date_cache. Acest lucru se întâmplă în Drupal\Core\Routing\RouteProvider.

Mă uit la un site web cu trafic mare cu funcționalitate de căutare „interactivă” bazată pe o hartă. Când vă redimensionați fereastra sau vă deplasați pe hartă, câteva solicitări sunt trimise la server pentru rezultatele căutării bazate pe vizualizarea hărții.

Aproape toate solicitările vor fi unice, deoarece coordonatele hărții fac parte din parametrii solicitării. Aceasta, la rândul său, pare să inunde date_cache masa. The date_cache masa crește ușor cu 100 GB într-o oră, așa că au loc multe scrieri.

În consecință, baza de date este foarte ocupată.

  1. Este posibil să dezactivați această memorie cache?
  2. Dacă numărul 1 nu este posibil, există o modalitate de a controla cid a rutelor stocate în cache? Cache-ul rutei este practic inutil așa cum este acum, deoarece utilizatorii nu vor primi niciodată o lovitură de cache. Combinațiile posibile de parametri de interogare sunt pur și simplu prea mari.
Puncte:1
drapel cn

Pentru site-urile cu trafic mare, în general, ați pune tabelele cache în memorie (Redis sau Memcached). Configurați Redis ca cache, vezi https://redis.io/topics/config

În acest caz specific, cu excepția cazului în care doriți să scrieți propriul furnizor de rută care nu poate fi stocat în cache, puteți elimina șirul de interogare

$request->server->set('QUERY_STRING', '');

într-un abonat de solicitare a evenimentului kernel cu o prioritate >32. Puteți stoca parametrii de interogare într-o proprietate a clasei de serviciu, astfel încât controlerul să îi poată prelua ulterior sau, dacă nu este propriul controler, puteți înregistra un al doilea abonat în aceeași clasă cu o prioritate mai mică pentru a restabili șirul de interogare după rutare.

Limitați gestionarea șirurilor de interogări speciale la căi specifice, unele rute de sistem modifică parametrii de interogare în timpul rutării.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.