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