![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 28.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Piszę sobie forum w cake`u wszystko prawie już gotowe, muszę teraz zrobić ilość wyświetleń danego tematu. Jak najlepiej to zrobić? Ilość wyświetleń będzie oczywiście zapisywana do bazy, przy wejściu na dany temat rekord będzie powiększany o 1. Ale jak to teraz najlepiej zabezpieczyć by co każde odświeżenie strony nie liczyło się jako nowe wyświetlenie. IP raczej się będę zapisywał, bo za dużo by się tego nazbierało. Więc pozostają tylko ciasteczka. ale czy da się zapisać tablice do ciasteczka za pomocą serializacji ? Co radzicie dzięki za podpowiedzi Ten post edytował LordRaven 7.01.2011, 21:07:26 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Zależy co masz na myśli gdy chcesz odporności na odwieżanie. Czy jeśli user wejdzie na ten sam temat po godzinie to liczy jako nowe wejście czy nie? A może po 1-2 niach już będzie ok? Jaki można pomysł wykorzystać przy ciastach (bazie, whatever)? To tylko luźna uwaga oczywiście...
Bierzesz tworzysz tablicę gdzie przechowujesz id_tematu jako klucz i jako wartość timestamp ostatnich odwiedzin. Przy odwiedzaniu każdego tematy lub dowolnej akcji usera w ciachu usuwasz wszystkie klucze starsze niż akceptowalny limit (inaczej ciastko byłoby ogromne). Odwiedzając jakiś temat sprawdzasz czy jego id już istnieje w ciasteczku. Jeśli nie to do tematu dodajesz 1 przy odwiedzinach oraz walisz do tablicy id tematu i timestamp odwiedzin. Jeśli istnieje to sprawdzasz timestamp. Jeśli jakimś cudem przekracza akceptowalny limit możesz dodać 1 do licznika, a jeśli nie to olewka. Tak czy inaczej aktualizujesz timestamp dla tego tematu. Dzięki temu temat lubiany przez usera nie powinien być zliczony więcej niż kilka razy przy limicie czasu na 1-2 dni. Oczywiście możesz to zapisywać gdzieś w bazie, ale tak częsty odczyt i zapis mogą nieźle spowolnić bazę. A robienie wymyślnych zabezpieczeń by uodpornić licznik na odświeżanie nie wiem czy jest warte świeczki ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 28.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzięki zrobię tak jak napisałeś tak chyba będzie najlepiej
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 07:34 |