Memcached - Substituir Dados
Memcached replacecomando é usado para substituir o valor de uma chave existente. Se a chave não existir, ele fornecerá a saída NOT_STORED.
Sintaxe
A sintaxe básica do Memcached replace comando é como mostrado abaixo -
replace key flags exptime bytes [noreply]
value
As palavras-chave na sintaxe são as descritas abaixo -
key - É o nome da chave pela qual os dados são armazenados e recuperados do Memcached.
flags - É o inteiro não assinado de 32 bits que o servidor armazena com os dados fornecidos pelo usuário e retorna junto com os dados quando o item é recuperado.
exptime- É o tempo de expiração em segundos. 0 significa nenhum atraso. Se o tempo de exptime for superior a 30 dias, o Memcached o usará como um carimbo de data / hora UNIX para expiração.
bytes- É o número de bytes no bloco de dados que precisa ser armazenado. Este é o comprimento dos dados que precisam ser armazenados no Memcached.
noreply (optional) - É um parâmetro que informa ao servidor para não enviar resposta.
value- São os dados que precisam ser armazenados. Os dados precisam ser passados na nova linha após a execução do comando com as opções acima.
Resultado
A saída do comando é mostrada abaixo -
STORED
STORED indica sucesso.
NOT_STORED indica que os dados não estão armazenados no Memcached.
Exemplo
No exemplo a seguir, usamos 'key' como a chave e armazenamos memcached nela com um tempo de expiração de 900 segundos. Depois disso, a mesma chave é substituída pelo 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
Substituir dados usando aplicativo Java
Para substituir os dados em um servidor Memcached, você precisa usar o Memcached replace método.
Exemplo
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"));
}
}
Resultado
Ao compilar e executar o programa, você verá a seguinte saída -
Connection to server successfully
set status:true
Get from Cache:memcached
Replace cache:true
Get from Cache:redis