Domanda

Ho sentito di Redis-cache, ma esattamente come funziona? E 'utilizzato come strato tra Django e le mie RDBMS, mettendo in cache le query RDBMS in qualche modo?

O è supposto per essere utilizzato direttamente come database? Cosa di cui dubito, dal momento che la pagina GitHub non copre i dettagli di accesso, nessuna messa a punto .. solo ti dice di impostare alcune proprietà config.

È stato utile?

Soluzione

Questo modulo Python per Redis ha un chiaro esempio di utilizzo nel readme: http://github.com/ andymccurdy / Redis-py

Redis è progettato per essere una cache RAM. Supporta GET base e set di chiavi più la memorizzazione di collezioni, come dizionari. È possibile memorizzare nella cache le query RDBMS memorizzando la loro produzione in Redis. L'obiettivo sarebbe quello di accelerare il vostro sito Django. Non iniziare a utilizzare Redis o qualsiasi altro cache fino a quando è necessario la velocità -. Non prematuramente ottimizzare

Altri suggerimenti

Solo perché memorizza Redis cose in memoria non significa che essa è destinata ad essere una cache. Ho visto persone che utilizzano come un archivio permanente per i dati.

Che può essere utilizzato come una cache è un suggerimento che è utile come storage ad alte prestazioni. Se il sistema Redis scende se si potrebbe perdere i dati che non è stato stato scritto di nuovo sul disco nuovo. Ci sono alcuni modi per mitigare tali pericoli, per esempio una replica hot-standby. Se i dati sono 'mission-critical', come se si esegue una banca o un negozio, Redis potrebbe non essere la scelta migliore per voi. Ma se si scrive un gioco ad alto traffico con dati in tempo reale persistenti o roba socio-interazione e gestire la probabilità di perdita di dati per essere abbastanza accettabile, allora Redis potrebbe essere la pena dare un'occhiata.

In ogni caso, i resti del punto, sì, Redis può essere utilizzato come un database.

Redis è fondamentalmente un 'in memoria' negozio KV con un sacco di campane e fischietti. E 'estremamente flessibile. È possibile utilizzarlo come un temporary store, come una cache, o di un negozio permanente, come una banca dati (con avvertimenti come menzionato in altre risposte).

In combinazione con il miglior Django più caso / uso comune per Redis è probabilmente alla cache 'risposte' e sessioni.

C'è un backend qui https://github.com/sebleier/django-redis- cache / e eccellente documentazione nella documentazione Django qui: https: // docs.djangoproject.com/en/1.3/topics/cache/ .

Recentemente ho iniziato ad usare https://github.com/erussell/django-redis -status di monitorare la cache - funziona un fascino. (Configure maxmemory sulla Redis oppure i risultati non sono così molto utile).

Si può anche usare Redis come una coda per le attività distribuite nel vostro Django app. È possibile utilizzarlo come un broker di messaggi per sedano o Python RQ .

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