Redis
 sql >> Database >  >> NoSQL >> Redis

Recupero del benchmarking da redis vs memory in Python (usando timeit)

Nel confronto che hai fatto qui, stai semplicemente misurando quanto tempo impiega Python per associare un nuovo nome a un valore nel secondo caso. Quindi non mi sorprende che questo sia molto più veloce della comunicazione con un processo diverso (Redis). Immagino che ciò che mi sorprende sia che prenderesti in considerazione l'idea di ottenere un valore da Redis se esiste l'opzione semplicemente per mantenerlo in memoria.

Quindi, devi essere più chiaro sul motivo per cui stai utilizzando Redis per questo in primo luogo. Sarà sempre più lento della memoria in-process, non è necessario alcun benchmark per questo. Devi chiedere "perché non sto usando solo elenchi e dizionari Python"? Ci sono diverse risposte valide:i tuoi dati sono troppo grandi per essere inseriti nella memoria, hai bisogno delle funzionalità specifiche della cache come consentire ai valori di scomparire dopo un po', o vuoi usarli per IPC o persistenza. Una volta che conosci la risposta qui, ciò informerà il benchmarking che desideri eseguire. E la domanda sarà più simile a "Come ottengo i vantaggi/caratteristiche che ho elencato sopra per la minima penalizzazione delle prestazioni". Redis potrebbe non essere l'unica risposta. Puoi prendere in considerazione shelf per la persistenza, o forse anche un database relazionale completo o Mongo o altro.

In breve, una volta che hai una buona idea del perché, il quanto spesso si risolve da solo.