¿Cómo puedo evitar la duplicación de copias de un objeto en una memoria caché?

StackOverflow https://stackoverflow.com/questions/92927

  •  01-07-2019
  •  | 
  •  

Pregunta

Estoy usando memcache para el diseño de una memoria caché de la capa de modelo de una aplicación web, uno de mis mayores problemas es la consistencia de los datos.Vino a mi mente el almacenamiento de datos como este:(clave=consulta, valor=lista de identificadores de objeto resultado de la consulta) para cada id de la lista:(clave=objeto.id, valor=objeto)

Así, cada vez que una consulta se realiza:Si la consulta ya existe recuperar los objetos señalados en la lista de la caché.Si no es así, todos los objetos de las listas se almacenan en la memoria caché de la sustitución de cualquier otro valor antiguo.

Tiene alguien el uso de esta alternativa, es dios?cualquier otra idea?

¿Fue útil?

Solución

El almacenamiento en caché es uno de los temas en los que no hay una sola respuesta correcta - depende de su dominio.

El almacenamiento en caché de la política que usted describe puede ser suficiente para su dominio.Sin embargo, no parecen estar preocupados acerca de los datos obsoletos.A menudo yo esperaría a ver una marca de tiempo en contra de algunas de las entidades - si el valor almacenado en caché es más que algunos sistema definido en el parámetro, se considera obsoleto y re-fetched.

Para más discusión sobre algoritmos de almacenamiento en caché, consulte Wikipedia (para empezar)

Otros consejos

Bienvenido al mundo de la concurrencia de programación.Usted querrá aprender un poco acerca de la exclusión mutua.Si usted nos diga qué lenguaje/plataforma que estamos desarrollando para podemos describir más específicamente de sus opciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top