Nová affiliate kampaň pre Slovensko - nebankové pôžičky Pôžičkomat.sk
Zobrazují se odpovědi 1 až 10 z 10

Kdy cachovat

  1. ahoj, dělám si teď vlastní router v nette a přemýšlím zda cashovat nebo ne db dotazy

    router dělá to, že podle url z db získá
    presenter, akci a parametry

    dotaz zabírá pod 1ms, ale provádí se při každém httprequestu

    obecně nevím kdy se vyplatí kešovat a kdy ne, tak by mne zajímalo i nějaké shrnutí :-)

    díky

  2. Co se právě děje na Webtrhu?
  3. Co přesně myslíte cachováním DB dotazu?

    Cachovat výsledky SELECTu? To za vás udělá DB.
    Pro MySQL viz Query Cache
    http://dev.mysql.com/doc/refman/5.1/en/query-cache.html

    Pokud je dotaz správně napsaný (viz EXPLAIN) a databáze dobře nakonfigurovaná (cachujete tabulky, indexy, spojení a evtl. i queries, viz výše), dotaz se ani nedotkne disků.

  4. no myslel jsem to tak, že bych si data ukládal na disk

    právě nevím zda je lepší při velkém počtu requestů číst data z disku nebo z db

    jinak výsledky selectu se mi cachují

  5. Disky mají latenci v ms, RAM v nanosekundách. Když cachovat v aplikaci, tak do Memcached nebo APC. Cachovat na disk je u webových aplikací skoro protimluv.
    Cachujte v místě původu, takže DB v DB.

    je lepší při velkém počtu requestů číst data z disku nebo z db
    DB se cachuje v RAM a ukládá na disk, takže si asi uvědomujete, že ta otázka nemá smysl.

  6. aha, díky:-)

  7. cachovat ano (precijen db cache neni tak uplne dokonala jak bychom si prali, kazda zmena na tabulce ci doatzu ji v podstate maze apod. coz ma za nasledek ze vlastne neni moc efektivni), ale rozhodne necachuj na disk. Disk ej silene pomala komponenta... memcache nebo apc jsou super alternativy... pripadne MEMORY storage v MySQL...

  8. vedouci Hodnocení: 3 (100%) vedouci bude brzy slavný/á
    7
    Citace Původně odeslal Martin Schlemmer Zobrazit příspěvek
    Disky mají latenci v ms, RAM v nanosekundách. Když cachovat v aplikaci, tak do Memcached nebo APC. Cachovat na disk je u webových aplikací skoro protimluv.
    Cachujte v místě původu, takže DB v DB.


    DB se cachuje v RAM a ukládá na disk, takže si asi uvědomujete, že ta otázka nemá smysl.
    Ahoj Martine, jenom to upresnim - memcached/APC je samozrejme lepsi, ale s tou latenci to neni tak horke, moderni operacni systemy totiz automaticky mapuji casto otevirane soubory do pameti, tzn. pak je ta latence velmi podobna memcached. (latence pameti + par cyklu procesoru navic - OS se musi podivat, jestli je dany soubor mapovany)

    memcached ma samozrejme ruzne jine vyhody, ale jako "cache pro chude" jsou soubory fajn, jenom je treba pamatovat na atomicitu operaci - http://php.vrana.cz/atomicita-operaci.php

    predpokladem je samozrejme, ze se cachovana data moc nemeni :)

  9. Nette, nabízí možnost memcache, takže pro to moje použití se vyplatí nasadit?

    Jen pro připomenutí, cachoval bych údaje potřebné pro rozhodnotí spuštění presenteru (podle url se volí presenter, akce a id)
    data se tahají z databáze a mění se jen pokud se přidá nebo odebere url

  10. Jo, často používané soubory se taky cachují v paměti, ale nechtěl jsem zabíhat do takových detailů - a myslím, že je lepší použít dedikovanou cache.

  11. vedouci Hodnocení: 3 (100%) vedouci bude brzy slavný/á
    10
    Citace Původně odeslal Martin Schlemmer Zobrazit příspěvek
    Jo, často používané soubory se taky cachují v paměti, ale nechtěl jsem zabíhat do takových detailů - a myslím, že je lepší použít dedikovanou cache.
    jasne, ze je - o tom se nehadam, jenom neni pravda, ze soubora cache == k nicemu (zacatecnici by mohli ziskat dojem, ze se to nemusi ucit, protoze pametova je lepsi), navic pokud jde o statickou predgenerovanou cache pro apache, tak se krom databaze usetri i cas potrebny pro bootstrap celeho fw, coz se nekdy hodi jako sul :-)

Hostujeme u Server powered by TELE3