¿Cómo borrar las entradas de caché de APC usando PHP?

La memoria caché de PHP alternativa (APC) almacena el código de bytes de las compilaciones de PHP anteriores, por lo que no es necesario volver a compilar cada vez, lo que ahorra tiempo. Tenemos que limpiar las entradas de caché para una nueva compilación. Para este propósito, podemos usar la función de PHP apc_clear_cache() para eliminar las entradas de caché. Este comando borra el caché y devuelve «verdadero» en caso de éxito.

Sintaxis:

apc_clear_cache();

Este comando eliminará el caché del sistema. Si desea borrar el caché para el usuario, simplemente proporcione «usuario» como parámetro.

apc_clear_cache('user');

Ejemplo: para borrar el caché de APC, copie y pegue el siguiente código en su archivo PHP. Asegúrese de reemplazar la string ‘Su dirección IP’ con su dirección IP real. Si la memoria caché se borra con éxito, se muestra un cuadro de alerta con un mensaje de «éxito»; de lo contrario, se muestra un mensaje de alerta de «error».

Código PHP:

PHP

<?php
  
if (in_array(@$_SERVER['REMOTE_ADDR'], 
    array('127.0.0.1', '::1', 'YOUR_IP'))) { 
    apcu_clear_cache(); 
    echo "<script>alert('success!')</script>"; 
}
else { 
    die('No valid IP'); 
} 
  
?>

Ahora vamos a ejecutar este código para cualquier página web. Mira el siguiente código. Hemos creado una página web sencilla y hemos añadido una variable a la caché de APC. Hemos creado una variable «$nombre» con el valor «abc» y la hemos guardado en la caché de APC usando la función apcu_add() con parámetros donde «nombre» es una clave única, $nombre es la variable real y el último argumento es TTL ( Time To Live), es decir, el tiempo de la variable almacenada en la memoria caché.
Para verificar la variable, hemos mostrado la información del caché usando la función apcu_cache_info() y vemos que nuestra variable se agrega al caché.

Código HTML:

HTML

<!DOCTYPE html>
<html>
  
<head>
    <meta name="viewport" content=
        "width=device-width, initial-scale=1">
</head>
  
<body>
    <div style="display: flex;">
        <div style="flex: 30%; padding-left: 4%;">
            <h1>Current Cache Info</h1>
            <?php
                //create sample variable
                $name = "abc";
                //save to APC cache         
                apcu_add ( "name", $name, 5  );
  
                //print APC Cache to see variable
                // has been added
                print_r(apcu_cache_info()); ?>
                //form to clear cache
            <form action="aboutus.php" method="POST">
                <input type="submit" name="submit" 
                    value="clear cache" />
            </form>
        </div>
    </div>
</body>
  
</html>

Archivo “acercadenosotros.php”:

<?php 
  
// When form is submited "clear
// cache button pressed" 
if(isset($_POST['submit']) ) {
      
    // Check IP is Valid      
    if (in_array(@$_SERVER['REMOTE_ADDR'], 
    array('127.0.0.1', '::1', '192.168.10.7'))) {
     
        // Clear cache
        apcu_clear_cache();   
          
        // Show success alert
        echo "<script>alert('success!')</script>";
    }
    else {  
        // Error
        die('No valid IP'); 
    } 
      
    // Display updated cache info
    // after clearing
    echo "<h1>New cache info</h1>";
    print_r(apcu_cache_info());
}
?>

Producción:

Podemos ver nuestra variable de nombre que se ha agregado al caché ya que las entradas totales son una y en información, podemos ver nuestra variable de nombre.


Output:

Ahora para borrar el caché presionamos el botón “borrar caché”. El caché se borra y se muestra. Vemos que las nuevas entradas del caché son 0 y la información está vacía, lo que muestra que el caché se ha borrado.

Podemos comparar ambos cachés y verificar el comando ejecutado con éxito.

El caché se borra con éxito.

Nota: Si no es un desarrollador sino un administrador del sistema, puede borrar el caché recargando su servidor y si no funciona, elimine la señal del servidor y reinicie.

Publicación traducida automáticamente

Artículo escrito por mominababar97 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *