Domanda

Recentemente ho trovato un bel post sul blog che presenta 2 approcci per il tracciamento degli utenti di un sito web con l'aiuto di Redis.

1) Smart-tasti e impostando la loro scadenza http://techno-weenie.net/2010/2/3/where-s-waldo-track-user-locations-with-node-js-and-redis

2) Set-s ed interseca http: //www.lukemelia .com / blog / archives / 2010/01/17 / Redis-in-pratica-whos-online /

Si può giudicare quale uno dovrebbe essere più veloce e perché?

È stato utile?

Soluzione

Per sapere se un determinato utente è in linea, il primo metodo sarà molto più veloce -. Nulla è più veloce di lettura di un singolo tasto

Trovare gli utenti su una pagina particolare non è chiaro (non ho visto numeri duri sulle prestazioni di entrambi incrocio o chiavi jolly), ma se il set è grande abbastanza per causare problemi di prestazioni in entrambe implementazione non lo è pratico per visualizzare tutti loro in ogni caso.

Per l'adattamento agli utenti di una lista amici Io probabilmente andare con il primo approccio anche - anche a poche centinaia di operazioni get (controllo lo stato di tutti nella lista) dovrebbe sovraperformare intersezione su più set se questi apparecchi hanno un gran numero di record e sono difficili da mantenere.

set Redis sono più appropriati per le cose che non si possono fare con le chiavi, in particolare dove ottenere tutti gli elementi del set è più importante di verificare se un determinato elemento è nel set.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top