Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ADODB CasheFlush ? :)
Forum PHP.pl > Forum > PHP
bumfank
Witam, zaczalem nauke ADODB i powiem szczerze ze to mile narzedzie, ale natrafilem na pierwszy problem, a mianowicie cashowanie, w jaki sposob moge zrobic tak, ze jest scashowany rekord, ale kiedy ulega on zmianie, cashe sie wtedy odswieza. kolega cos mi mowil o funkcji CasheFlush, spojrzalem w manual i nie wiele mi to dalo?? i odzielne pytanie. w jaki sposob moge np cashowac wszystkie pola w mysql, procz np pola licznik, ktory wiadomo zmienia sie wraz z kolejnym wejsciem usera na strone smile.gif wtedy nie musialby ciagle sprawdzac casha i odswiezac tylko glowny cashe co godzine a ten licznik normalnie.

dziekuje za pomoc i pozdrawiam smile.gif
borec
ja robie tak:
  1. <?php
  2. require_once 'adodb.inc.php';
  3.  
  4. $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
  5. $ADODB_CACHE_DIR  = realpath('ado_cache');
  6.  
  7. $dbObj  = NewADOConnection('mysql');
  8. $dbObj->Connect(wiadomo);
  9.  
  10. # ustawiam czas cache na dluuugo
  11. $dbObj->cacheSecs = 10000000;
  12.  
  13. # cachuje jakis wynik
  14. $test = $dbObj->CacheGetOne('SELECT `test` FROM `test` WHERE `costam` = ilestam');
  15.  
  16. # gdy zmieni sie zawartosc tego `test` np:
  17. $dbObj->Execute('UPDATE `test` SET `test` = `test`+1');
  18.  
  19. # usuwam scachowany wynik wczesniejszego zapytania
  20. $dbObj->CacheFlush('SELECT `test` FROM `test` WHERE `costam` = ilestam');
  21.  
  22. ?>


ad. 2 czachowane sa cale wyniki zapytan a nie poszczegolne pola, wiec jesli jedno ma byc niecachowane to uzyj osobnego zapytania zeby wyciagnac je z bazy
bumfank
nom:) pobawilem sie i doszedlem co i jak winksmiley.jpg

dziekuje za pomoc exclamation.gifsmile.gif

pozdrawiam;)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.