J'ai un réseau socialSession VS Fichier VS Memcache pour un cache en PHP?
La table des utilisateurs est d'environ 60.000 lignes
Le tableau d'amis est d'environ 1 million lignes (utilisées pour déterminer qui est votre
ami)
Je veux faire un fil d'ami, mur, quoi que vous l'appeliez, il affichera des choses comme le statut de l'utilisateur (messages de type Twitter), il montrera quelques articles différents mais pour le début ce sera juste un statut d'ami et peut-être un article de blog. Fondamentalement, vous ne verrez que le contenu publié avec un ID utilisateur figurant dans votre liste d'amis.
J'ai essayé de trouver le meilleur moyen et je ne suis pas allé très loin mais voici ma dernière idée.
Actuellement construire ce flux, je dois
Obtenez la liste des amis ID de sur la grande table d'amis
Obtenir les données de flux de l'ami ids du résultat ci-dessus
JOIN le tableau de l'utilisateur pour obtenir le éditeurs image URL et nom d'utilisateur
Alors REJOIGNEZ la table des commentaires pour obtenir commentaires postés sur les éléments d'alimentation
C'est une grande tâche pour construire cette alimentation
J'ai 3 idées à ce jour, c'est là votre aide peut venir
Memcache Option:.
- Utilisez memcache et mettre en cache un utilisateur friendlist comme un tableau lorsque l'utilisateur ouvre une session sur le site, également lorsque l'utilisateur approuve une nouvelle demande d'ami pour un ami à ajouter là liste, il rebâtirait il cache.
- En plus d'y avoir juste des amis, je pourrais y enregistrer l'URL et le nom d'utilisateur de l'ami, cela accélérerait encore les choses en éliminant cette requête lors de la création du flux d'amis.
cache de fichiers Option:
Faites la même chose que l'option memcache ne sauve mais ces données comme un tableau dans un fichier de cache au lieu de la mémoire, comprennent alors ce fichier de cache en la page.
Je ne sais pas quelle est la meilleure méthode pour la performance que je comprends tout stocke memcache en mémoire si des amis qui ont comme 20.000 amis qui pourraient utiliser beaucoup de mémoire et un cache de fichiers ne ferait que mettre il en mémoire lorsque les utilisateurs en a besoin si je suis correct. Aussi, si je fait la méthode de fichier, lorsqu'un utilisateur journaux sur le site, je voudrais supprimer il fichier cache de sorte que le dossier cache ne serait jamais trop grand nombre de fichiers
session cache Option:
- Identique au cache de fichiers ci-dessus, je viens de réaliser que les données enregistrées dans la session est un fichier pour ne serait-ce rendre capable d'être un cache?
S'il vous plaît me donner votre avis ou des conseils ou des informations que vous avez sur ce que je n'ai pas beaucoup de connaissances de la mise en cache, j'ai lu beaucoup, mais parfois d'autres idées peuples aident beaucoup
« données de session est enregistrée dans un fichier ». Votre déclaration ci-dessus est erronée. La session peut être configurée pour stocker dans la base de données. Le gestionnaire de session par défaut est un fichier. – sudip