Cytat(borabora @ 12.03.2017, 16:08:26 )

-"top 10 uzytkowników"
-"ostatnie komentarze"
-"najnowsze artykuły"
tego typu dane mógłbyś trzymać w plikach
Czyli ogólnie dane, których jest "mało", a są aktualizowane raz na jakiś czas?
Przykładowo dla "ostatnich komentarzy" - należałoby aktualizować plik gdy dodany zostanie nowy komentarz, czy np. raz na 10 minut przez skrypt wywoływany przez CRON'a?
Cytat(Pyton_000 @ 12.03.2017, 13:26:55 )

A [p co wrzucać do cache informacje o profilach? Aż tak często będą wyświetlane?
Cache w zależności od metody albo działa na plikach, na BD lub RAM (Redis, Memcached itd).
Profile będą wyświetlane jak użytkownik (nie musi być zalogowany) wejdzie na profil innego użytkownika - tak jak na forum

Powiedzmy, że profilów będzie 10 000, a użytkowników odwiedzających stronę dziennie też 10 000 (ogólnie rzecz biorąc, czyli strona główna i wszystkie podstrony), ale ilość odwiedzeń podstron z profilami będzie raczej niewiele, więc chyba rzeczywiście nie ma sensu tego w plikach?
Na stronie będzie taki
ranking uczniów wg. ocen (im lepsze oceny, tym wyżej w rankingu).
Jest tu jedno ważne założenie - ranking będzie oczywiście widoczny cały czas na stronie, ale będzie aktualizowany tylko raz na dzień (powiedzmy o godzinie 0:00), czyli oceny z danego dnia będą widoczne w rankingu dopiero następnego dnia. Co byście proponowali w takiej sytuacji?
1. Założyć index na pole ocena i w zapytaniu wyświetlającym dodać warunek, żeby wyświetlane były tylko oceny do dnia wczorajszego?
SELECT * FROM oceny WHERE DATA < $dzisiejsza_data ORDER BY ocena
2. Przechowywać ranking w oddzielnej tabeli „ranking”? Widziałbym to w ten sposób, że skrypt uruchamiany przez CRON'a raz na dzień o godzinie 0:00 sortowałby tabelę oceny (pewnie takim samym zapytaniem jak z pkt. 1) i nadpisywał tabelę „ranking” tym wynikiem sortowania (pewnie trzeba by było użyć truncate oraz ponownie dodać wiersze za pomocą insert). I tak posortowaną tabelę „ranking” wyświetlałbym na stronie. Przewaga takiego rozwiązanie nad cache może być taka, że powiedzmy ta tabela będzie miała z czasem 100 000 wierszy, to tak jak wspominaliście – zapytanie dla 100 000 wierszy wywoła się szybciej niż wczytanie pliku ze 100 000 wierzy.
Czy nie jest przypadkiem tak, że zarówno rozwiązanie 1. jaki i 2. będę równie dobre?