Hola a todos.
Tengo una tienda Prestashop 1.7.5.1, enlazada al programa CRM de tal manera que los stocks de dicho programa se envían a Prestashop para que estén actualizados. Es un proceso que lanza el propio programa de gestión, seguramente modificando directamente en la bbdd los stocks.
Hace poco activamos Memcached y creemos que se ha notado una mejoría en la velocidad, pero tenemos un problema y es que los stocks se siguen actualizando pero los cambios no se reflejan en la web, aparentemente se muestran los guardados en la caché.
Esto lógicamente es un problema y queríamos saber si hay alguna manera de limpiar periódicamente el caché de Memcached, o como hacer para que la web muestre el stock real de la bbdd.
Mucha gracias.
Contenido solo visible a usuarios registrados
Hola Javier,
En este caso ya que tienes activo Memcached a nivel de servidor debes realizar la consulta en un ticket, coméntale los que necesitas para que te indiquen de forma precisa que necesitas realizar.
Un Saludo
Hola Javier,
En este caso ya que tienes activo Memcached a nivel de servidor debes realizar la consulta en un ticket, coméntale los que necesitas para que te indiquen de forma precisa que necesitas realizar.
Un Saludo
Hola Karen, ya abrí un ticket para activar Memcached, pero como el problema es con Prestashop, me recomendaron consultar en el foro ya que ellos como sistemas no pueden hacer nada más, solamente activar o desactivar.
Creo que estos sistemas de cache no funcionan bien cuando modificas la bbdd de Prestashop directamente, no son capaces de detectar esos cambios de stocks, por ejemplo.
Así que toca sacrificar velocidad para que los visitantes puedan ver stock real.
Un saludo.
Hola Javier.
Existe una función via PHP que igual te puede servir para limpiar la cache pero no te aseguro que el funcionamiento sea del 100% pero bueno por probarlo tampoco perdemos nada.
.- Accede a tu cuenta de Panel -> Administrador de archivos.
.- Accede a la carpeta de la instalación
.- Crea un archivo php y le pones como nombre " memflush "
.- Añade lo siguiente en el archivo:
<?php
$socket = fsockopen("localhost", "11211", $errno, $errstr);
if($socket) {
echo "Connected. <br /><br />";
}
else {
echo "Connection failed!<br /><br />";
}
fputs($socket, "flush_all\r\n");
$buffer = "";
fclose($socket);
echo "Memcached Vaciada. <br /><br />";
?>
.- Guarda el archivo.
Cuando necesites vaciar la cache lanzas el archivo tudominio.xxx/memflush.php
Comentamos sí hemos tenido suerte y con eso se soluciona.
Un saludo
Hola Javier.
Existe una función via PHP que igual te puede servir para limpiar la cache pero no te aseguro que el funcionamiento sea del 100% pero bueno por probarlo tampoco perdemos nada.
.- Accede a tu cuenta de Panel -> Administrador de archivos.
.- Accede a la carpeta de la instalación
.- Crea un archivo php y le pones como nombre " memflush "
.- Añade lo siguiente en el archivo:
<?php
$socket = fsockopen("localhost", "11211", $errno, $errstr);
if($socket) {
echo "Connected. <br /><br />";
}
else {
echo "Connection failed!<br /><br />";
}
fputs($socket, "flush_all\r\n");
$buffer = "";
fclose($socket);
echo "Memcached Vaciada. <br /><br />";
?>.- Guarda el archivo.
Cuando necesites vaciar la cache lanzas el archivo tudominio.xxx/memflush.php
Comentamos sí hemos tenido suerte y con eso se soluciona.
Un saludo
Hola Pepe, gracias por tu contestación.
¡Funciona muy bien!, he hecho alguna prueba y perfecto, así que justo después de lanzar el script que modifica stocks, lanzaré este para vaciar la caché y que los stocks se muestren correctamente.
Muchas gracias por tu ayuda.
Un saludo.
Hola Javier,
Enhorabuena ya está funcionando, un placer siempre es un placer para nosotros poder ayudarte.
Con esto podemos dar el tema como solucionado, escríbenos si tienes cualquier otra consulta
Un Saludo 😊