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