Tengo una cantidad de sitios en una aplicación de Django en los que me gustaría implementar el almacenamiento en caché de todo el sitio. Sin embargo, está demostrando ser una verdadera molestia.Django - Caché de sitio de múltiples sitios
lo que sucede es que settings.CACHE_MIDDLEWARE_KEY_PREFIX
se establece una vez en el inicio, y no puedo continuar y cambiarlo según el sitio actual. Como resultado, si una página de url http://website1.com/abc/
se almacena en caché, entonces http://website2.com/abc/
representa la versión en caché de http://website1.com/abc/
. Ambos sitios web se ejecutan en la misma instancia de Django, ya que esto es lo que parece que Django Sites nos permite.
¿Es este un enfoque incorrecto? Como no puedo establecer dinámicamente CACHE_MIDDLEWARE_KEY_PREFIX
durante el tiempo de ejecución, no puedo almacenar en caché varios sitios usando el almacenamiento en caché de Django en todo el sitio. Tampoco puedo hacer esto para la plantilla y ver el almacenamiento en caché.
Tengo la impresión de que la forma en que esto realmente necesita configuración es que cada sitio necesita su propia instancia de Django que es prácticamente idéntica excepto por el archivo de configuración, que en mi caso diferirá solo por el valor de CACHE_MIDDLEWARE_KEY_PREFIX
. Estas instancias de Django todas leen y escriben en la misma base de datos. Esto me preocupa ya que podría crear una serie de problemas nuevos.
¿Estoy yendo por el camino correcto o me equivoco acerca de cómo la arquitectura multi sitio necesita funcionar? He revisado los documentos de Django y no hay una mención real de cómo manejar el almacenamiento en caché (que no es el almacenamiento en caché de bajo nivel) para las aplicaciones de Django que sirven a varios sitios.
¿Ha encontrado una solución a eso? –