Función PHP Memcached getByKey()

La función Memcached::getByKey() es una función incorporada de la clase Memcached en PHP que se utiliza para recuperar un elemento de un servidor específico. Funcionalmente, esta función es equivalente a la función Memcached::get(), excepto que la forma libre server_key se puede usar para asignar la clave a un servidor específico.

Sintaxis:

public Memcached::getByKey($server_key, 
    $key, $cache_cb = ?, $flags = ?): mixed

Parámetros requeridos : esta función acepta cuatro parámetros que se describen a continuación:

  • server_key: la clave que identifica el servidor para almacenar el valor o recuperarlo.
  • clave: La clave del elemento a buscar.
  • cache_cb: devolución de llamada de almacenamiento en caché de lectura completa o nulo
  • banderas: Banderas para controlar el resultado devuelto. Cuando se proporciona el valor de Memcached::GET_EXTENDED, devolverá el token CAS.

Valor de retorno esperado: para encontrar el valor de una clave del servidor específico si usamos Memcached::getByKey(), podemos esperar dos tipos de valores, ya sea el valor almacenado en el caché o falso de lo contrario. En caso de que la clave no exista en el servidor, Memcached::getResultCode() devolverá Memcached::RES_NOTFOUND como error.

Los siguientes ejemplos ilustran la función Memcached::getByKey() en PHP:

Ejemplo 1:

PHP

echo "<pre>";
  
// Server & port details
$server = '127.0.0.1';
$port = 11211;
  
// Initiate a new object of memcache
$memcacheD = new Memcached();
  
// Add server
if ($memcacheD->addServer($server, $port)) {
    echo "**  server added ** \n";
}
else {
    echo "** issue while creating a server **\n";
}
  
// Set key & value with TTL
$key = "GEEKSFORGEEKS1";
$value = "computer science portal";
$ttl = 3600;
  
if ($memcacheD->addByKey( "serverkey", $key, $value, $ttl))
      echo "** added key-value (" . $key . ":" 
      . $value . ")to cache successfully!! **\n";
else 
      echo "** error while adding value to cache!! **\n";
  
// Get value of key
echo "****   FETCHED VALUE   FOR KEY :" . $key . " ****\n";
$valD = $memcacheD->getByKey("serverKey", $key);
var_dump($valD);
  
?>

Producción:

* servidor agregado **
** clave-valor agregado (GEEKSFORGEEKS1: portal de informática) para almacenar en caché con éxito. **
**** VALOR OBTENIDO PARA CLAVE: GEEKSFORGEEKS1 ****
string (23) «portal de informática»

Ejemplo2:

PHP

<?php
echo "<pre>";
  
// Server & port details
$server = '127.0.0.1';
$port = 11211;
  
// Initiate a new object of memcache
$memcacheD = new Memcached();
  
// Add server
if ($memcacheD->addServer($server, $port)) {
    echo "**  server added ** \n";
}
else {
    echo "** issue while creating a server **\n";
}
  
// Set key & value with TTL
$key = "GEEKSFORGEEKS2";
$value = "computer science portal";
$ttl = 3600;
  
if ($memcacheD->addByKey( "serverkey", $key, $value, $ttl)) 
      echo "** added key-value (" . $key . ":" 
      . $value . ")to cache successfully!! **\n";
  
// Already added, try it once
if ($memcacheD->addByKey( "serverkey", $key, $value, $ttl)) 
      echo "** added key-value (" . $key . ":" 
      . $value . ")to cache successfully!! **\n";
else 
      echo "** error while adding value to cache!! **\n";
  
// Get value of key
echo "****   FETCHED VALUE   FOR KEY :" . $key . " ****\n";
$valD = $memcacheD->getByKey("serverKey", $key);
var_dump($valD);
  
?>

Producción:

** servidor agregado **
** clave-valor agregado (GEEKSFORGEEKS2: portal de informática) para almacenar en caché con éxito. **
** error al agregar valor al caché!! **
**** VALOR OBTENIDO PARA LA CLAVE: GEEKSFORGEEKS2 ****
string (23) «portal de informática»

Referencia : https://www.php.net/manual/en/memcached.getbykey.php

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan 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 *