Vous avez un couple d'options comme je le vois.
Cookies
Vous pouvez stocker un cookie dans le navigateur des utilisateurs pour chaque page que vous vues connexion. Vérifiez l'existence de ce cookie et n'enregistrez pas de vue si le cookie existe déjà. Inconvénient à cela est que cela ne fonctionnera pas si les cookies sont désactivés ou quelqu'un essaie de jouer le système. Sur le plan positif, vous n'avez pas à vous préoccuper du stockage de millions/milliards de lignes de données de table.
Database
Vous tenir un dossier pour chaque vue. Relier cet enregistrement à un utilisateur d'une manière ou d'une autre, par ex. MemberID, adresse IP; quelque chose qui devrait être unique à l'utilisateur. L'adresse IP n'est pas idéale mais suffisante si vous ne demandez pas aux utilisateurs de se connecter.
Vous auriez par exemple une table avec les colonnes suivantes,
- ArticleID (clé étrangère)
- UserID (clé étrangère)
- Date de
La date sera utile pour plusieurs raisons,
- Rapports. Vous pouvez construire de bien meilleures statistiques une fois que vous savez quand chaque vue a été enregistrée.
- Afficher les délais. Par exemple, vous pouvez uniquement stocker une vue par utilisateur et par heure. Avec la colonne de date, vous pouvez le faire.
Si votre application devient populaire dans cette situation, vous devrez faire face aux implications de stockage. Je lance une application Facebook populaire qui se traduit par l'ajout de plus de 100 000 lignes de vue chaque jour. D'un point de vue réaliste, cependant, si votre application devient si populaire qu'elle devient un problème, vous aurez des problèmes beaucoup plus importants à gérer.
aviez-vous un exemple de code? – AminM