Tengo un gran volcado de par key-value
, que necesito buscar para mi aplicación web django-Python.¿Mantiene un diccionario grande en memoria para Django-Python?
lo tanto, tengo siguientes opciones:
- tienda como JSON volcado y carga como un dict pitón.
- Almacenarlo en un dump.py e importar el dict de él.
- Utilice algunos sistemas específicos para este problema: [¿Están realmente destinados para este uso? ]
- Mem-cache
- Redis
- Cualquier otra opción?
desde arriba ¿Qué es el camino correcto a seguir?
¿Cómo comparará Memcache y Redis?
Actualización:
- Mi diccionario es de aproximadamente 5 MB en tamaño y crecerá con el tiempo.
Usar Redis/Memcache agrega una sobrecarga de presionar un socket cada vez, por lo que dump.py será mejor, ya que llevaría tiempo cargarlo en la memoria, pero después de eso solo haría búsquedas de memoria.
Mi diccionario tiene que ser actualizado cada día, teniendo en cuenta que dump.py habrá problema, ya que tenemos que reiniciar el servidor Django para recargar en tanto que creo que va a reflexionar sobre la marcha en Redis y Memcache.
Uno utiliza un sistema como Redis sólo cuando se tiene gran cantidad de datos y usted tiene que las operaciones de búsqueda con mucha frecuencia, en caso de que toma da una sobrecarga es así, ¿cómo lograr la ventaja?
¡Comparta su experiencia en esto!
Depende. ¿Dónde está tu cuello de botella? –
¿necesitas una base de datos? – moooeeeep
¿Con qué frecuencia va a revisar la llave si le preocupan los enchufes? –