Memcached - zamień dane

Memcached replacepolecenie służy do zastąpienia wartości istniejącego klucza. Jeśli klucz nie istnieje, to daje wynik NOT_STORED.

Składnia

Podstawowa składnia Memcached replace polecenie jest jak pokazano poniżej -

replace key flags exptime bytes [noreply]
value

Słowa kluczowe w składni są takie, jak opisano poniżej -

  • key - Jest to nazwa klucza, za pomocą którego dane są przechowywane i pobierane z Memcached.

  • flags - Jest to 32-bitowa liczba całkowita bez znaku, którą serwer przechowuje z danymi dostarczonymi przez użytkownika i zwraca wraz z danymi po pobraniu elementu.

  • exptime- Jest to czas wygaśnięcia w sekundach. 0 oznacza brak opóźnienia. Jeśli exptime przekracza 30 dni, Memcached używa go jako uniksowego znacznika czasu wygaśnięcia.

  • bytes- Jest to liczba bajtów w bloku danych, które mają być zapisane. To jest długość danych, które muszą być przechowywane w Memcached.

  • noreply (optional) - Jest to parametr, który informuje serwer, aby nie wysyłał żadnej odpowiedzi.

  • value- To dane, które muszą być przechowywane. Dane należy przekazać w nowej linii po wykonaniu polecenia z powyższymi opcjami.

Wynik

Dane wyjściowe polecenia są pokazane poniżej -

STORED
  • STORED wskazuje na sukces.

  • NOT_STORED wskazuje, że dane nie są przechowywane w Memcached.

Przykład

W poniższym przykładzie używamy „key” jako klucza i przechowujemy w nim memcached z czasem wygaśnięcia 900 sekund. Następnie ten sam klucz zostanie zastąpiony wartością „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

Zastąp dane za pomocą aplikacji Java

Aby zamienić dane na serwerze Memcached, musisz użyć Memcached replace metoda.

Przykład

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"));
   }
}

Wynik

Podczas kompilowania i wykonywania programu zobaczysz następujące dane wyjściowe -

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