PHP - Redis/Memcachedb/Mongodb oder anderen permanenten Speicher zu speichern, counter

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

  •  19-09-2019
  •  | 
  •  

Frage

Durch Zähler, könnte es sein, Seitenaufrufe, downloads, Anzahl der Stimmen, etc.Im Grunde nicht sehr viel "kritische" Daten.

Was ist der "beste" Weg, um zu speichern diese Informationen?Mysql ist nicht eine gute option.Was tun Sie Jungs verwenden?

War es hilfreich?

Lösung

ich glaube, ich mit Redis gehen würde, denn:

  • Antirediz (sein Spitzname) ist wirklich aktiv an der Entwicklung Redis . (Jedes Mal, wenn ich an meinem GitHub Armaturenbrett schauen hat er einen neuen Code verpflichtet). Er jetzt entwickelt redis Vollzeit dank VMware
  • Redis ist schließlich persistent so die Leistung kickass ist (zunächst nur Speicher verwendet, der schnell ist).
  • Redis hat ein Atom Schritt Operation, die Sie benötigen.
  • Redis hat eine viel gute PHP-Bibliotheken. Es gibt auch eine, die als C Erweiterung so ist es wirklich eine gute Leistung hat. Redis Website hat auch einen Überblick aus diesen Erweiterungen. Einige sind reine PHP-Code (run a litle aber langsamer, aber einfacher zu konfigurieren).

Andere Tipps

MongoDB mit upserts ist ideal für diese.

Wenn Sie die Speicherung von so etwas wie:

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

Sie können atomar Inkrementieren Seitenaufrufe wirklich schnell mit dem atomaren operation $inc:

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

Wenn Sie upserts, die Sie nicht haben, um zu überprüfen, ob ein Dokument vorhanden ist, bevor Sie es aktualisieren.Zum Beispiel, wenn Sie sagen:

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

das Dokument unter dem url www.example.com wird erstellt, wenn es nicht existieren (mit Seitenaufrufe auf 1 gesetzt) oder, wenn es vorhanden ist, Seitenaufrufe erhöht werden.Dies bedeutet, dass Sie nicht haben, um sorgen über die vor-Auffüllen der Sammlung.

Die berühmte Ansicht Zähler der 1990er Jahre verwendet, um einfache Dateien, um die Nummer zu speichern. Wenn alles, was Sie brauchen nur ist eine Nummer zu speichern, alles ist gut genug.

Ich würde sagen, APC oder Memcached sind eine gute Wahl.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top