Memcached - заменить данные

Memcached replaceКоманда используется для замены значения существующего ключа. Если ключ не существует, то выводится NOT_STORED.

Синтаксис

Базовый синтаксис Memcached replace команда, как показано ниже -

replace key flags exptime bytes [noreply]
value

Ключевые слова в синтаксисе описаны ниже -

  • key - Это имя ключа, с помощью которого данные сохраняются и извлекаются из Memcached.

  • flags - Это 32-битное целое число без знака, которое сервер хранит вместе с данными, предоставленными пользователем, и возвращается вместе с данными при получении элемента.

  • exptime- Это время истечения в секундах. 0 означает отсутствие задержки. Если срок действия превышает 30 дней, Memcached использует его как метку времени UNIX для истечения срока действия.

  • bytes- Это количество байтов в блоке данных, которое необходимо сохранить. Это длина данных, которые необходимо сохранить в Memcached.

  • noreply (optional) - Это параметр, который сообщает серверу не отправлять ответ.

  • value- Это данные, которые нужно хранить. Данные необходимо передать с новой строки после выполнения команды с указанными выше параметрами.

Вывод

Результат команды показан ниже -

STORED
  • STORED указывает на успех.

  • NOT_STORED указывает, что данные не хранятся в Memcached.

пример

В следующем примере мы используем «ключ» в качестве ключа и сохраняем в нем memcached со сроком действия 900 секунд. После этого тот же ключ заменяется значением «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

Замена данных с помощью приложения Java

Чтобы заменить данные на сервере Memcached, вам необходимо использовать Memcached replace метод.

пример

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("tutorialspoint", 900, "memcached").done);
      
      // Get value from cache
      System.out.println("Get from Cache:"+mcc.get("tutorialspoint"));
      
      // now replace the existing data
      System.out.println("Replace cache:"+mcc.replace("tutorialspoint", 900, "redis").done);
      
      // get the updated data
      System.out.println("Get from Cache:"+mcc.get("tutorialspoint"));
   }
}

Вывод

При компиляции и выполнении программы вы увидите следующий вывод:

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