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