Vra

Deur die toonbank dit kan wees page views, downloads, die aantal stemme, ens.Basies, nie baie " kritiese se data.

Wat is die beste manier om te slaan daardie inligting?Mysql is nie'n goeie opsie nie.Wat doen julle gebruik?

Was dit nuttig?

Oplossing

Ek dink ek sou gaan met Redis, want:

  • Antirediz (sy bynaam) is regtig aktief die ontwikkeling van Redis . (Elke keer as ek kyk na my GitHub paneelbord hy het 'n paar nuwe kode verbind). Hy is nou die ontwikkeling van redis voltydse danksy VMware
  • Redis is uiteindelik aanhoudende so die prestasie is KICKASS (eerste net gebruik geheue wat vinnig).
  • Redis het 'n atoom inkrement operasie wat jy nodig het.
  • Redis het 'n baie goeie PHP biblioteke. Daar is ook een wat geskryf is as 'n C uitbreiding so dit het regtig 'n goeie prestasie. Redis webwerf het ook 'n oorsig af hierdie uitbreidings. Sommige is pure PHP-kode (hardloop 'n litle maar stadiger, maar is makliker om te instel).

Ander wenke

MongoDB met upserts is'n groot vir dit.

As jy die stoor van iets soos:

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

jy kan atomies inkrementeer views regtig vinnig met die atoom operasie $inc:

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

As jy gebruik upserts, jy hoef nie om te kyk of'n dokument bestaan voor die opdatering van dit.Byvoorbeeld, as jy sê:

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

die dokument met die url www.example.com geskep sal word indien dit nie bestaan nie (met views stel om te 1) of, as dit nie bestaan nie, page views sal wees geïnkrementeer.Dit beteken dat jy nie hoef te bekommer oor die pre-mense aan die versameling.

Die bekende kyk tellers van die 1990's gebruik eenvoudige lêers te stoor die nommer.As alles wat jy nodig het is net om te slaan een nommer, niks is goed genoeg nie.

Ek sou sê APC of memcached is goeie keuses.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top