Tengo un sitio bastante simple en el que estoy usando el decorador page_cache
. Tengo un cronjob que busca nuevos datos y los procesa si está disponible. (Esto se ejecuta utilizando comandos de gestión ejecutados con crontab)Cómo borrar todo el caché al usar el decorador page_cache de django
Quiero borrar todos los cachés de página cuando se procesan datos nuevos.
estoy mirando a la documentación aquí: https://docs.djangoproject.com/en/dev/topics/cache/?from=olddocs?from=olddocs
y encontró cache.clear()
, que parece ser lo que quiero. He agregado un indicador a la parte de procesamiento de datos y ejecuto cache.clear()
cuando se encuentran nuevos datos.
Sin embargo, después de ejecutar el comando, la caché no se borra. (He borrado el navegador en caché y verificado para asegurarse de que no es el navegador)
¿No funciona cache.clear()
para borrar todas las páginas almacenadas en caché?
Estoy usando el DatabaseCache
, así que supongo que podría entrar y borrar la tabla de caché manualmente, pero ¿hay alguna otra manera mejor?
Comprobé con el shell, e incluso cuando ejecuto cache.clear() desde el shell, parece que no borra el caché. Sin embargo, parece que se borra en función del período de caducidad configurado ... – monkut
El método 'clear' de backend de caché de base de datos es bastante simple: https://code.djangoproject.com/browser/django/tags/releases/1.3/ django/core/cache/backends/db.py # L138 Simplemente borra todos los registros de la tabla de caché. ¿Estás seguro de que tu caché está configurada correctamente? ¿Tal vez usas memcached o algo más? Otra razón podría ser la memoria caché del navegador, para asegurarse de que pueda abrir su sitio web en otro navegador que aún no haya utilizado para buscar ese sitio. –
lorien, gracias, intentaré verificar la configuración – monkut