Necesito algo así como un almacén temporal de clave-valor en memoria. Sé que hay soluciones como Redis. Pero me pregunto si el uso de un diccionario de Python podría funcionar. Y potencialmente ser aún más rápido? Así que piense en un servidor Tornado (o similar) ejecutando y manteniendo un diccionario de python en memoria y simplemente devuelva el valor apropiado según la solicitud HTTP.¿Utiliza el diccionario de Python como base de datos de valores-clave temporal en memoria?
¿Por qué necesito esto? Como parte de un servicio, se almacenan valores clave pero tienen esta propiedad: cuanto más recientes sean, más probable es que se acceda a ellos. Así que quiero mantener los últimos 100 valores clave en la memoria (así como escribir en el disco) para una recuperación más rápida.
Si el servidor muere, el diccionario se puede restaurar nuevamente desde el disco.
¿Alguien ha hecho algo como esto? ¿Me estoy perdiendo algo aquí?
PD: Creo que no es posible con un servidor WSGI, ¿verdad? Porque, por lo que sé, no puedes guardar algo en la memoria entre las solicitudes individuales.
Dado que el OP se refiere a un servidor de Tornado que correlaciona las solicitudes al dict ... todavía habrá latencia de red. – Amber
@amber pero no a Memcache/Redis. –
Lo que el OP parece sugerir es * reimplementar * memcache/redis a través de tornado. – Amber