Cachovani servrem generovanych obrazku

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
saimons
Člen | 293
+
0
-

Chtel bych se zeptat jak by jste resili tuto situaci. Uzivatel ma moznost si podle zvolenych parametru (ulozenych v DB) vygenerovat obrazek. Tento obrazek se mu bude zobrazovat po dobu nez zmeni parametry (je pravdepodobne, ze vice uzivatelu bude mit stejne nastaveni). Generovani je pomerne narocne, proto bych chtel obrazky cachovat. Napadli me dva zpusoby:

  1. Podle parametru z DB vytvorit otisk, pod kterym ulozit obrazek na disk
  2. Po vygenerovani obrazku do promene pouzit Cache z Nette: FileStorage

Pokud mate nekdo zkusenosti s podobnym pripadem a chcete se podelit o zkusenosti, budu rad za jake koliv namety a rady.

David Matějka
Moderator | 6445
+
0
-

file storage spis ne, za 1. asi moc nebude idealni pro binarni obsah, za 2. by se vzdycky musel obsah nacist pres php do promenne a az pak vypsat.

bud to ukladat pod tim hashem, nebo kolik je tech parametru? kdyby jich nebylo moc, nechala by se z toho sestavit pekna url ve tvaru width-500-height-400-xx-yy-id-1.jpg a po prvnim vygenerovani by to mohl servirovat web server jako staticky obsah :)

enumag
Člen | 2118
+
0
-

Dělám to tak, že obrázek negeneruju na vyžádání, ale už když na něj vytvářím odkaz, tedy při vytváření tagu <a> nebo <img>. Na to mám vlastní makro pro Latte a službu která ty obrázky dle zadaných parametrů generuje pokud neexistují.

saimons
Člen | 293
+
0
-

Dekuji za vase nazory a rady.

Filip111
Člen | 244
+
0
-

A nestačilo by ti nějaké lazy loading generování obrázků/náhledů?
https://forum.nette.org/…vani-nahledu#…

Kdysi jsem to začal používat v Cms pro generování náhledů, resp. obrázků s potřebnou velikostí a drobnou obměnou používám dodnes. Obrázky jsou pod nějakým hashem uložené na disku a pokud nezměníš parametry předávané helperu, tak se jen načítají z disku.

saimons
Člen | 293
+
0
-

Jo tohle znam, take to pouzivam v CMS, koukal jsem na to jako inspiraci. Spis jsem si tak nak potreboval overit, jestli postupuji spravne. Ale i tak diky za odpoved.