Autor | Zpráva | ||
---|---|---|---|
Radek22 Profil |
#1 · Zasláno: 28. 6. 2007, 09:33:22
Ahoj,
pátral jsem po cachování v PHP a narazil jsem na tento algoritmus: if ( file_exist("aktiality.cache") ) { include ( "aktuality.cache" ); } else { $cachefp = fopen( "aktuality_tmp.cache", "w" ); ob_start(); } tady bude HTML kód if ( $cachefp ) { $file = ob_get_contents(); fwrite( $cachefp, $file ); fclose( $cachefp ); rename( "aktuality_tmp.cache", "aktuality.cache"); ob_end_flush(); } jediný problém tohoto algoritmu je ten, že když "aktuality.cache" nebude existovat a na stránku příjdou 2 uživatelé zároveň, tak každý začne vytvářet dočasný soubor "aktiality_tmp.cache", což správnost nijak neovlivní, ale je to zbytečná režie. Má někdo nějaký nápad, jak by se to dalo vyřešit? Mně napadlo, že bych mohl nějak zjistit, jestli je ten dočasný soubor otevřený a pokud ano, tak bych ten druhý proces dočasný soubor už nevytvářel a jen by si vygeneroval stránku. A dá se nějak zjistit doba, za kterou mi server vrátí požadovanou stránku? |
||
Kcko Profil |
#2 · Zasláno: 28. 6. 2007, 10:14:40
Nebude lepsi pokazde kdyz pridas novou aktualitu tak pregenerovat soubor ktery pote vzdy vkladas?
|
||
Časová prodleva: 17 let
|
0