Memcached - Verileri Değiştir
Memcached replacekomutu, mevcut bir anahtarın değerini değiştirmek için kullanılır. Anahtar yoksa, NOT_STORED çıktısını verir.
Sözdizimi
Memcached'in temel sözdizimi replace komut aşağıda gösterildiği gibidir -
replace key flags exptime bytes [noreply]
value
Söz dizimindeki anahtar kelimeler aşağıda açıklandığı gibidir -
key - Verilerin saklandığı ve Memcached'den alındığı anahtarın adıdır.
flags - Sunucunun kullanıcı tarafından sağlanan verilerle depoladığı ve öğe alındığında verilerle birlikte geri döndüğü 32 bitlik işaretsiz tamsayıdır.
exptime- Saniye cinsinden sona erme süresidir. 0 gecikme yok demektir. Geçerlilik süresi 30 günden fazlaysa Memcached, bunu sona erme için bir UNIX zaman damgası olarak kullanır.
bytes- Depolanması gereken veri bloğundaki bayt sayısıdır. Bu, Memcached'de depolanması gereken verilerin uzunluğudur.
noreply (optional) - Sunucuya herhangi bir cevap göndermemesini bildiren bir parametredir.
value- Depolanması gereken verilerdir. Yukarıdaki seçeneklerle komut çalıştırıldıktan sonra verilerin yeni satıra aktarılması gerekir.
Çıktı
Komutun çıktısı aşağıda gösterildiği gibidir -
STORED
STORED başarıyı gösterir.
NOT_STORED verilerin Memcached'de saklanmadığını gösterir.
Misal
Aşağıdaki örnekte, anahtar olarak 'anahtar' kullanıyoruz ve 900 saniyelik sona erme süresi ile memcached'i içinde saklıyoruz. Bundan sonra, aynı anahtar 'redis' değeriyle değiştirilir.
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 Uygulamasını Kullanarak Verileri Değiştirin
Memcached sunucusundaki verileri değiştirmek için Memcached'i kullanmanız gerekir. replace yöntem.
Misal
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"));
}
}
Çıktı
Programı derlerken ve çalıştırırken, aşağıdaki çıktıyı göreceksiniz -
Connection to server successfully
set status:true
Get from Cache:memcached
Replace cache:true
Get from Cache:redis