Estoy trabajando en una clase de cliente que necesita cargar datos de una base de datos en red. Se ha sugerido que agregar un servicio de caché estándar al cliente podría mejorar su rendimiento.¿Hay una clase estándar de caché de Python de terceros?
Me encantaría no tener que construir mi propia clase de almacenamiento en caché, es bien sabido que estos proporcionan puntos de falla comunes. Sería mucho mejor usar una clase que alguien más ha desarrollado en lugar de gastar una gran cantidad de mi propio tiempo depurando un sistema de caché hecho en casa.
desarrolladores de Java tienen esta: http://ehcache.sourceforge.net/
Es una clase de almacenamiento en caché de alto rendimiento de propósito general que puede soportar todo tipo de almacenamiento. Tiene opciones de caducidad basada en el tiempo y otros métodos para la recolección de basura. Se ve muy bien. Lamentablemente, no puedo encontrar nada tan bueno para Python.
Entonces, ¿alguien puede sugerir una clase de caché que esté lista para mi uso. Mi lista de deseos es:
- Posibilidad de limitar el número de objetos en la memoria caché.
- Posibilidad de limitar la edad máxima de los objetos en la memoria caché.
- LRU objeto expirey
- Capacidad para seleccionar varias formas de almacenamiento (por ejemplo, memoria, disco)
- Bueno depurado, bien mantenido, en uso por al menos una aplicación bien conocida.
- Buen rendimiento.
¿Alguna sugerencia?
ACTUALIZACIÓN: Estoy buscando almacenamiento en memoria caché LOCAL de objetos. El servidor al que me conecto ya está fuertemente en caché. Memcached no es apropiado porque requiere un tráfico de red adicional entre el cliente de Windows y el servidor.
No es apropiado en este caso ... Estoy tratando de acelerar una aplicación de red agregando un caché LOCAL. Una caché de red va a ser lenta para los usuarios finales dado que podrían estar en cualquier parte del mundo. –
Lamentablemente, es complejo usar Jython en esta etapa. –