2011-09-23 6 views
107

Ho letto grandi cose sugli archivi di chiavi/valore come Redis ma non riesco a capire quando è il momento di usarlo in un'applicazione.Quando utilizzare un archivio di chiavi/valori come Redis al posto/lungo il lato di un database SQL?

Dire che sto architettando un'applicazione basata sul web; So quale stack ho intenzione di utilizzare per il front-end, il back-end, il database (s), ecc. Quali sono alcuni scenari in cui vorrei andare "oh abbiamo anche bisogno di Redis per X, Y o Z."

Apprezzerei gli esempi node.js e non-node.js.

+1

Vedi http://stackoverflow.com/questions/4718832/redis-as-a-database/4719682#4719682 –

risposta

70

Non riesco a capire quando è il momento di usarlo in un'applicazione.

Si consiglia di leggere il tutorial this che contiene anche casi d'uso. Poiché redis è piuttosto orientato alla memoria, è molto utile per i dati in tempo reale aggiornati di frequente, come archivio di sessioni, database di stato, statistiche, memorizzazione nella cache ed è la versatilità di advanced data structures in molti altri scenari.

Redis, tuttavia, non è la sostituzione NoSQL per i database relazionali classici poiché non supporta molte funzionalità standard del mondo RDBMS come l'interrogazione dei dati che potrebbe rallentarlo. Le sostituzioni sono piuttosto database di documenti come MongoDB o CouchDB e redis è ideale per integrare funzionalità specifiche in cui la velocità e il supporto per strutture di dati avanzate sono a portata di mano.

+2

Il tutorial a cui ti sei collegato è fantastico! Il collegamento –

+21

non è più disponibile –

+5

Ho fatto una rapida ricerca su Google con l'URL del sito di questo tutorial e mi sono imbattuto in un successo importante - http://www.slideshare.net/dvirsky/introduction-to-redis-version-2 – Paul

2

Una cosa è che Redis non è un database relazionale. Se hai bisogno di un "JOIN" SQL, non vorrai utilizzare Redis, né alcun altro database non relazionale. Redis è più veloce della maggior parte dei database relazionali. Se stai solo andando a fare la chiave: query coppia di valori, allora ti consigliamo di utilizzare Redis.

+0

Così, per esempio, sarebbe bene usare redis per informazioni su una sessione utente, quindi è più veloce accedere a nome, email, ID, ecc.? –

+0

Lo penserei. Il Governo di Kyoto sarebbe ancora più veloce per quello, penso. – EhevuTov

43

Credo che nulla spiega meglio i casi di utilizzo per Redis di questo articolo: http://antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html

scommetto avrete un aha! momento. ;)

Una citazione da un lettore precedente:

Ho letto di Redis prima e sentito come le aziende lo utilizzano, ma mai del tutto capito il suo scopo. Dopo aver letto questo, in realtà posso dire di capire Redis ora e come è utile. Incredibile che dopo aver ascoltato così tanto ci è voluto un articolo relativamente semplice.

+0

Questo l'articolo è molto utile, ho quello che volevo sapere –

3
  • mi piacerebbe usare Redis sui progetti in tempo reale. Recentemente ho effettuato il per un sistema di tracciamento GPS che era stato precedentemente creato su mysql come un database .

    VANTAGGIO

    1. Ogni volta che i dati inseguitore trasmissione non ho bisogno di aprire la connessione MySQL e memorizzare su di esso. Possiamo salvarlo su redis e successivamente migrare a mysql usando qualche altro processo. Ciò eviterà la contemporanea connessione dal ripetitore multiplo a mysql.
    2. Posso pubblicare tutti quei dati GPS e altri client (javascript/android) possono iscriversi in tempo reale.
    3. posso innescare tempo reale Allerte
Problemi correlati