Jump to content
php.lv forumi

Kādā formāta glabāt katčotus MySql kverijus?


Wuu

Recommended Posts

Paldies rATRIJS, par serialize ieteikumi.

Vakar uzdrukāju maziņu funkciju, kas glabā qveriju kačus.

 

Bez caches, ielādes laiks - 1.86

Ar caches, ielādes laiks - 0.02

 

Lapa vienkārši tagad lādēja ļoti ļoti ātri.

 

Visi "asprāši" var iet ieskrieties, neviens normāli neko ieteikt nevar. :D

Edited by Wuu
Link to comment
Share on other sites

1) Bet, ja pieliek klāt komentāru rakstam, komentāru skaits rādās no keša pareizi?

2) Vai esi testējis laikus pie keša apjoma palielināšanās?

3) Uzrakstītu normālu JOIN-u (bez while cikla) arī būtu ātrs ielādes laiks.

Link to comment
Share on other sites

Taisnība ir tāda, ka kečupi ir labi noteiktās situācijās. Tādās vietās, kur saturs mainās reāli reizi desmit minūtes - iztiksim bez tiem. :) Un kāds jau minēja - memcached un tml. risinājumi nevis Manis ieteiktais JSON būtu labāks risinājums!

Link to comment
Share on other sites

neticu, ka tai lapai nav neviena js un css faila.

Man pat salīdzinoši tukšas lapas no localā, bez db konekcijas, bet ar css un js failiem ātrāk kā 200-300ms kopā neielādējas.

 

 

P.S. Un ieteikums Wuu: Kam tev vispār datu struktūras vajag? Kešo tak uzģenerēto HTML gabalu kā stringu, būs vēl ātrāk, varbūt pat -0.01 sekunde.

Link to comment
Share on other sites

1) Bet, ja pieliek klāt komentāru rakstam, komentāru skaits rādās no keša pareizi?2) Vai esi testējis laikus pie keša apjoma palielināšanās?3) Uzrakstītu normālu JOIN-u (bez while cikla) arī būtu ātrs ielādes laiks.

Ātrāk par kečupu nebūs, ja nu vienīgi atmiņā lādēt, bet tas jau būs par traku. Sistēma ir ļoti vienkārša. Tiek veidoti Cache faili, un pirms MySql qerija tiek pārbaudīts vai tāds Cache fails eksistē, jā eksistē, nolasa datus no viņa, ja neeksistē, tiek izveidots jauns. Pievienojot to pašu komentāru, attiecīgie Cache faili tiek dzēsti.

Lapai kurai saturs mainās ~20 reizes/ 24h, ieguvums ir patīkams. Atšķirību var tiešām just.

 

Neesmu nekāds pro, viss pašmācības ceļā, takā ar 0.02 sekundēm man pietiks, salīdzinot ar iepriekšējām 1.8 - 2.5 sekundēm.

 

HTML Cache arī būs, vienk. ir qveriji kas lādēsies atsevišķi caur ajaxu. Un runa iet par, php apstrādes laiku.

Edited by Wuu
Link to comment
Share on other sites

Nu bet kas notiks, ja keš fails sāks augt lielāks? Vai ir kādi kešoto kveriju skaita ierobežojumi. Cik saprotu nekāda binārā meklēšana vai hash tabulas tev kešā nav? Tiek iterēts cauri visiem kešotajiem kverijiem? Vai var būt gadījums, ka tiek sakešoti 1000 kveriji, cik tādā gadījumā ātri strādās?

 

Savukārt normāla joina gadījumā viss, kas tev ir, ir tas joins un nav vairs vajadzība čakarēties ar kešošanu.

Kešosāna protams ir laba lieta, bet vieņai ir arī daudz stūrakmeņu un tā pamatīgi sarežģī aplikāciajs sarežģītību, līdz ar to uzlabošanu un uzturēšanu.

Link to comment
Share on other sites

Man katram qverijam ir savs individuāls Cache fails, tā kā nekas netiek meklēts. Viss vienā būs tikai kopējām HTML lapām. Bet par vienu kopēju Cache failu, ideja laba, bet es domāju rezultāts ar piepulēm neatmaksātos, neesmu Google.

Edited by Wuu
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...