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