Memcached – reemplazar datos

Memcached reemplazar El comando se usa para reemplazar el valor de una clave existente. Si la clave no existe, se emite NOT_STORED.

Sintaxis

Sintaxis básica de Memcached reemplazar comando como se muestra a continuación –

replace key flags exptime bytes [noreply]
value

Las palabras clave en la sintaxis se describen a continuación:

  • llave – Este es el nombre de la clave con la que se guardan y recuperan los datos de Memcached.

  • banderas – Este es un entero de 32 bits sin signo que el servidor almacena junto con los datos proporcionados por el usuario y devuelve con los datos cuando se recibe el elemento.

  • Tiempo de expiración – Este es el tiempo de caducidad en segundos. 0 significa que no hay demora. Si la fecha de vencimiento excede los 30 días, Memcached la usa como marca de tiempo de UNIX para el vencimiento.

  • bytes – Este es el número de bytes en el bloque de datos que se almacenarán. Esta es la longitud de los datos que se almacenarán en Memcached.

  • noreply (opcional) – Este es un parámetro que le dice al servidor que no envíe una respuesta.

  • agradecer – Estos son los datos que deben almacenarse. Los datos deben transferirse en una nueva línea después de ejecutar el comando con los parámetros anteriores.

Salida

El resultado del comando se muestra a continuación:

STORED
  • ALMACENAMIENTO indica éxito.

  • NOT_STORED indica que no hay datos almacenados en Memcached.

Ejemplo

En el siguiente ejemplo, usamos una clave como clave y almacenamos memcached en ella con una fecha de vencimiento de 900 segundos. Después de eso, la misma clave se reemplaza con el valor «redis».

add key 0 900 9
memcached
STORED
get key
VALUE key 0 9
memcached
END
replace key 0 900 5
redis
get key
VALUE key 0 5
redis
END

Reemplazar datos con la aplicación Java

Para reemplazar datos en un servidor Memcached, debe usar Memcached reemplazar método.

Ejemplo

import net.spy.memcached.MemcachedClient;
public class MemcachedJava {
   public static void main(String[] args) {
      
      // Connecting to Memcached server on localhost
      MemcachedClient mcc = new MemcachedClient(new
      InetSocketAddress("127.0.0.1", 11211));
      System.out.println("Connection to server sucessfully");
      System.out.println("set status:"+mcc.set("AreaTutorial", 900, "memcached").done);
      
      // Get value from cache
      System.out.println("Get from Cache:"+mcc.get("AreaTutorial"));
      
      // now replace the existing data
      System.out.println("Replace cache:"+mcc.replace("AreaTutorial", 900, "redis").done);
      
      // get the updated data
      System.out.println("Get from Cache:"+mcc.get("AreaTutorial"));
   }
}

Salida

Al compilar y ejecutar el programa, verá el siguiente resultado:

Connection to server successfully
set status:true
Get from Cache:memcached
Replace cache:true
Get from Cache:redis

🚫