qbejs
27.05.2008, 11:38:20
Cześć,
Piszę powoli sobie sklep internetowy i zastanawiam się nad jednym problem. Mianowicie koszyk u mnie będzie oparty na mysql i zastanawiam się nad sposobem czyszczenia tabeli. O ile przy zatwierdzeniu zamówienia problemu nie ma bo dane są kasowane z tabeli basket i wędrują do order to sprawa komplikuje się z ludźmi którzy nie sfinalizują zamówienia. Czy jedyne sensowne sposoby na kasowanie zawartości tabeli to odpalanie skryptu z Crona o np. 3:00 w nocy lub dołączenie skryptu który będzie pobierał id usera i sprawdzał czy ma coś w koszyku i jeżeli np. minęło 30 min to koszyk jest kasowany ? Chciałbym zrobić to w miarę najwydajniej jednak chciałbym prowadzić statystyki oraz inne operacje na koszyku zatem wybór padl na sql a nie na sesje.
Dzięki za pomoc.
Strzałek
27.05.2008, 11:48:44
Hmm. Zrób może Session Handler oparty o bazę danych i masz problem z głowy.
.radex
27.05.2008, 11:50:31
Możesz to zrobić albo za pomocą cron'a, albo co x osób, które wchodzi na stronę byłoby to czyszczone.
Pierwszy sposób lepszy, bo wydajniejszy (mniej zapytań na odsłonę) i bardziej równomierny (możesz konkretnie ustawić co ile czasu)
johny-cage
27.05.2008, 17:16:00
Zbudowałem kilka sklepów i tez kiedyś zastanawiałem sie jak zrobić koszyk. Opieranie koszyka o bazę nie ma większego sensu bo użytkownik w każdej chwili może zamknąć przeglądarkę i co wtedy? Zostają niepotrzebne wpisy. Lepiej zrób koszy w oparciu o Cookie które ulegają skasowaniu w momencie zamknięcia przeglądarki. Prostsze i zgrabniejsze a przede wszystkim nie zaśmiecają ci bazy.
dr_bonzo
27.05.2008, 17:25:08
Dzizez - jak masz koszyk na bazie to mozesz sobie dowolne staty porobic. A niepotrzebne rekordy usuwasz cronem (dodaj do koszyka - ostatio_ogladany_o_godzinie) i po problemie - sprawdzasz tylko czas - usuwasz podlaczone rekordy zawartosc_koszyka.
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.