![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 8.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam do zrobienia bardzo duży portal założenia zleceniodawcy są takie, że 90% wszystkich zapytań to pobieranie danych z bazy a tylko 10% to modyfikacje, dodawanie lub usuwanie rekordów. Baza ma posiadać ok. 5 mln rekordów na początek. Zleceniodawca przyjmuje ok. 50 tys. odsłon dziennie. Przy tak dużej ilości odsłon i ilości pobieranych danych warto zastosować cachowanie zapytań. Chciałbym zrobić to standardowo: 1. Sprawdzanie cache, jeśli zawiera aktualne dane to idź do 4 2. Pobranie treści z bazy 3. Zaktualizowanie cache 4. Zwrócenie danych Nie chce się martwić o to czy zawartość cache jest aktualna i zamierzam czyścić ją za każdym razem gdy coś dodam, zmodyfikuje lub usunę w bazie. Oczywiście nie cały cache. Z takie rozwiązanie ma kilka wad: 1. Jeśli nie będzie nic w cache i nagle na stronę wejdzie 1000 osób w jednej chwili i każdy zacznie aktualizować cache, będzie to bardzo nieefektywne. 2. Podczas gdy chcę usuwać cache może się okazać, że ktoś właśnie go czyta i nie usunę go, wtedy zostanie stara, nieaktualna zawartość. Przy tak dużej ilości odsłon nawet tak mało prawdopodobne akcje są możliwe. Czy macie jakieś pomysły jak to mogę rozwiązać? Ten post edytował Noname78 8.03.2010, 23:21:23 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 04:33 |