Ich habe ein soziales NetzwerkSitzung VS Datei VS Memcache für einen Cache in PHP?
Die Tabelle Benutzer ist rund 60.000 Zeilen
Die Freunde Tisch rund 1 Million Reihen (die zu bestimmen ist Ihr
Freund) ist
Ich möchte einen Freund Feed, Wand, was auch immer Sie es gerne nennen, es wird Dinge wie Benutzerstatus Post (twitter Art Beiträge) zeigen, wird es zeigen ein paar verschiedene Dinge, aber für den Anfang wird es nur Freund Status und vielleicht Blog-Post.
Im Allgemeinen werden nur Inhalte angezeigt, die mit einer Benutzer-ID in Ihrer Freundesliste veröffentlicht wurden.
Ich habe versucht, den besten Weg zu kommen und bin nicht sehr weit gekommen, aber hier ist meine neueste Idee.
Aktuell Futter zu bauen, muß ich
auf der großen Freund Tabelle die Liste des Freund ID 's Get
die Stream-Daten aus dem Freund IDs aus dem obigen Ergebnis holen
JOIN der Benutzer Tabelle, um die Publisher Bild URL und Benutzername
zu erhalten
JOIN dann die Kommentare Tabelle Kommentare zu den Feed-Einträge geschrieben zu bekommen
Das eine große Aufgabe ist
Ich habe 3 Ideen, die Futter so weit zu bauen, das ist, wo Ihre Hilfe kommen in kann
Memcache Option:.
- Verwenden memcache und einen Benutzer Freundesliste als Array-Cache, wenn der Benutzer Protokolle in die Website, auch wenn der Benutzer eine neuen Freund Anfrage für einen Freund dort Liste hinzugefügt werden genehmigt, es würde es Cache wieder aufzubauen.
- Zusätzlich zu nur dort Freunde zu bekommen konnte ich dort Freunde Bild URL und Benutzername speichern, würde dies Dinge wieder durch die Beseitigung dieser Abfrage beim Aufbau der Freund-Feed zu beschleunigen.
Datei-Cache-Option:
Sie die gleiche wie die memcache Option aber diese Daten als Array auf eine Cache-Datei anstelle des Speichers nicht speichern, dann diese Cache-Datei enthalten in die Seite.
Ich bin nicht sicher, was ist die beste Methode für die Leistung I memcache speichert alles im Speicher so Freunde zu verstehen, die wie 20.000 Freunde haben, die viel Speicher und einen Dateicache würde nur verwenden könnte put es im Speicher, wenn die Benutzer es braucht, wenn ich richtig bin. wenn ich auch die Datei Methode tat, wenn ein Benutzer abmeldet der Website, würde ich dort Cache-Datei, so dass die Cache-Ordner löschen würde niemals Dateien zu groß sein
Session Cache Option:
- Gleiche wie Dateicache oben, ich habe erkannt, dass die Sitzungsdaten in einer Datei gespeichert wird, so würde nicht, dass es zu sein, ein Cache-fähig machen?
Bitte geben Sie mir Ihre Meinung oder irgendwelche Ratschläge oder Informationen, die Sie auf diese haben, wie ich, nicht viel Wissen über Caching habe ich habe viel gelesen, aber manchmal andere Völker Ideen helfen, eine Menge
„Sitzungsdaten in einer Datei gespeichert wird“. Ihre obige Aussage ist falsch. Die Sitzung kann so konfiguriert werden, dass sie in der Datenbank gespeichert wird. Der Standard-Session-Handler ist eine Datei. – sudip