Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 4 Dołączył: 18.09.2010 Ostrzeżenie: (0%)
|
Witam,
Ostatnio spotkałem się ze stwierdzeniem, że optymalnie jest zrzucać całą tabelę użytkowników do cache i z pliku odczytywać potrzebne dane. Wydaje mi się to mniej wydajne niż odczyt z bazy gdzie nałożony jest indeks na kolumny, po których uzyskiwane są dane użytkownika. Załóżmy, że tabela z użytkownikami posiada 50 000 rekordów w około 15 kolumnach. Cache jest tworzony przez serializację do pliku całej tabeli oraz trzymany aż do zarejestrowania nowego użytkownika lub zmiany danych już istniejącego. Ponadto z cache nie są odczytywane dane takie jak ostatnia wizyta (bo wiadomo, zmienia się z każdym odświeżeniem (leci zapytanie do DB aktualizujące)), jedynie sprawdzanie czy user taki istnieje w bazie (czyli w cache) oraz wyświetlanie podstawowych jego danych, takich jak nazwa, e-mail itd. Co myślicie: cache tej tabeli ma jakiś sens? Ten post edytował Inscure 5.02.2012, 13:10:49 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat po pierwsze - zależy gdzie chcesz trzymać taki cache. jeśli w pamięci ram (np za pomocą memcached) to ma sens. Nie do końca. Bo marnujesz wówczas pamięć - baaaaaaaardzo rzadko zdarzają się sytuacje, w których 100% bazy jest wczytywany. Pomijam już fakt problemów z synchronizacją. Cytat z tego co wiem nk.pl używa tego rodzaju cache. tzn jeśli wyszukujesz znajomych, to wysyłają zapytanie do bazy danych "select user_id from friends..." (nawiasem też to cachują) a potem każdego usera odczytują już bezpośrednio z memcache, lub jeśli części danych to doczytują je z bazy i wstawiają potem do cache, dla przyszłych requestów). Cache w nk.pl, to w ogóle majstersztyk. Jak mi o tym znajomy opowiadał, to miałem oczy jak pięciozłotówki. (IMG:style_emoticons/default/biggrin.gif) |
|
|
|
Inscure Cache tabeli użytkowników 5.02.2012, 13:04:26
lobopol Nie w takiej formie. Cache całej tabeli jest bezse... 5.02.2012, 13:20:38
erix CytatCo myślicie: cache tej tabeli ma jakiś sens?
... 7.02.2012, 10:18:13
ActivePlayer po pierwsze - zależy gdzie chcesz trzymać taki cac... 7.02.2012, 10:24:05
ActivePlayer na 4developers zeszłorocznym był gość, który o tym... 7.02.2012, 10:33:29 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 05:54 |