Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cachowenie danych z kilkuset tabel
Forum PHP.pl > Forum > PHP
kaem
Witam, stoję przed problemem pobierania do nowej głównej aplikacji danych z wielu tabel z pewnej bazy danych.
Z tej bazy korzysta kilkaset różnych aplikacji i każda ma swój zestaw tabel (z przypisanym prefixem) - nie pytajcie smile.gif. Więc jak widać, odpytywanie bazy przy każdym wejściu jest bezsensowne.

Czyli mamy taką sytuację że musze pobrać, np. newsy z tych wszystkich tabel, do tej jeden głównej aplikacji.

Jak optymalnie rozwiązać cachowanie takich zapytań? Będę wdzięczny za wszelkie wszkazówki, rady ew. linki. Dodam, że aplikacja jest pisana w Zendzie.
lukaskolista
Musisz zaczac od wyboru nosnika danych, czyli: twardy dysk, pamiec operacyjna. Pamiec operacyjna jest szybsza, jednak ma ograniczenia co do wielkosci (w porownaniu do dusku) i po restarcie serwera cache zapelnia sie od nowa.
Jezeli chodzi o cache na plikach (twardy dysk), to pewnie zend ma do tego jakis mechanizm. Jesli chodzi o cache w pamieci operacyjnej, to polecam memcached (nie memcache, memcached to nowsza wersja memcache)
redeemer
Zend_Cache obsługuje zarówno dysk jak i memcached (oraz wiele innych opcji). Jeżeli skorzystasz z Zend_Cache to zmiana adaptera będzie się wiązała tylko ze zmianą w konfiguracji i będziesz mógł testować nośniki "w locie". Mimo wszystko polecam jednak memcached - utrata cache'u w przypadku awari/resetu serwera jest bardzo mało istotna porównując ją z samym faktem awarii/resetu serwera wink.gif
kaem
Dzięki na odpowiedzi.
Jeśli chodzi o nośnik danych to chyba będzie to dysk twardy. Nie jestem przekonany co do memcache(chociaż z tego co wyczytałem jest to popularne narzędzie) z tego względu, że tych danych może być dużo i przechowywanie ich w pamięci operacyjnej może być nieoptymalne. Poprawcie mnie proszę jeśli się mylę, bo może czegoś nie wiem:)

Jeszcze nie wiem w jaki sposób ten cache przechowywać tak żeby móc rozróżniać z jakiej tabeli (aplikacji) jest dany rekord. Jakiś pomysł?

Muszę mieć np. taką możliwość: pobieram gdzieś zacachowane dane z tych powiedzmy 500 aplikacji, np. newsy i w aplikacji głównej wyświetlam 20 najnowszych wpisów, z linkami do stron gdzie te newsy się oryginalnie znajdują. Będzie z tym problem?
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.