PHP - Redis / memcachedb / MongoDB ou tout autre stockage persistant pour stocker contre

StackOverflow https://stackoverflow.com/questions/2035808

  •  19-09-2019
  •  | 
  •  

Question

Par contre, il pourrait y avoir les pages vues, téléchargements, nombre de voix, etc. En fait, pas très données « critiques ».

Quelle est la « meilleure » pour stocker ces informations? Mysql est pas une bonne option. Qu'est-ce que vous les gars utiliser?

Était-ce utile?

La solution

Je pense que j'irais avec Redis, parce que:

  • Antirediz (son surnom) est vraiment de développer activement Redis . (Chaque fois que je regarde mon tableau de bord github il a engagé un nouveau code). Il développe actuellement Redis à plein temps grâce à VMware
  • Redis est finalement persistante si la performance est kickass (utilise d'abord que la mémoire qui est rapide).
  • Redis a incrément opération dont vous avez besoin.
  • Redis a un un beaucoup de bonnes bibliothèques PHP. Il y a aussi celui qui est écrit en tant que C Extension il a vraiment une bonne performance. Redis site a également un aperçu de ces extensions. Certains sont du code PHP pur (exécuter un Litle mais plus lent, mais sont plus faciles à configurer).

Autres conseils

MongoDB avec upserts est grand pour cela.

Si vous stockez quelque chose comme:

{ "url" : "www.example.com", "pageviews" : 0 }

vous pouvez atomiquement pages vues incrément très rapidement avec l'opération atomique inc $:

db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}})

Si vous utilisez upserts, vous ne devez pas vérifier si un document existe avant sa mise à jour. Par exemple, si vous dites:

db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}}, {"upsert" : true})

le document avec l'URL www.example.com sera créée si elle n'existe pas (avec pages vues à 1) ou, si elle existe, pages vues seront incrémentés. Cela signifie que vous n'avez pas à vous soucier de prédéfinir la collection.

Les célèbres compteurs de vue des années 1990, utilisé des fichiers simples pour enregistrer le numéro. Si tout ce que vous avez besoin est juste pour stocker un numéro, tout est assez bon.

Je dirais que APC ou memcached sont de bons choix.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top