Latest web development tutorials

perintah CAS memcached

Memcached CAS (Check And-Set atau Bandingkan-Dan-Swap) Perintah ini digunakan untuk mengeksekusi "memeriksa dan mengatur" operasi

Hal ini hanya setelah klien saat ini nilai terakhir, nilai kunci yang sesuai dengan kasus di mana tidak ada klien lain yang dimodifikasi untuk bisa menulis nilai-nilai.

Cek dilakukan oleh parameter cas_token, parameter ini adalah nilai 64-bit Memcach unik yang diberikan untuk elemen yang ada.

sintaks:

Dasar perintah sintaks CAS adalah sebagai berikut:

cas key flags exptime bytes unique_cas_token [noreply]
value

Parameter adalah sebagai berikut:

  • key: Tombol struktur kunci-nilai, digunakan untuk mencari nilai tembolok.
  • bendera: mungkin termasuk sepasang kunci-nilai parameter integer, klien menggunakannya untuk menyimpan informasi tambahan tentang pasangan kunci-nilai.
  • exptime: menyimpan pasangan kunci-nilai dalam cache panjang waktu (dalam detik, 0 berarti selamanya)
  • byte: jumlah byte yang disimpan dalam cache
  • unique_cas_token diperoleh melalui perintah mendapat nilai 64-bit yang unik.
  • noreply (opsional): Parameter ini memberitahu server tidak perlu mengembalikan data
  • Nilai: nilai yang disimpan (selalu berada di baris kedua) (bisa langsung dipahami sebagai key-value nilai struktur)

contoh

Untuk menggunakan CAS perintah pada memcached, Anda perlu untuk mendapatkan token (token) dari penyedia layanan memcached melalui mendapat perintah.

Fungsi mendapat perintah serupa perintah get dasar. Perbedaan antara kedua perintah adalah bahwa, mendapat informasi lebih lanjut sedikit kembali: nilai integer 64-bit sangat mirip dengan nama / pasangan nilai "versi" identifier.

Contoh langkah-langkah berikut:

  • Jika Anda tidak menetapkan token unik, kesalahan CAS perintah eksekusi.
  • Jika tombol kunci tidak ada, eksekusi gagal.
  • Tambahkan pasangan kunci-nilai.
  • Dapatkan perintah token unik akan melalui.
  • Menggunakan perintah cas untuk memperbarui data
  • Apakah akan menggunakan perintah get untuk melihat update data
cas tp 0 900 9
ERROR             <− 缺少 token

cas tp 0 900 9 2
memcached
NOT_FOUND         <− 键 tp 不存在

set tp 0 900 9
memcached
STORED

gets tp
VALUE tp 0 9 1
memcached
END

cas tp 0 900 5 1
redis
STORED

get tp
VALUE tp 0 5
redis
END

ekspor

Jika data yang berhasil ditambahkan, output:

STORED

output informasi Description:

  • TERSIMPAN: Setelah keluaran berhasil disimpan.
  • ERROR: menyimpan kesalahan atau kesalahan sintaks.
  • ADA: setelah nilai terakhir dari pengguna lain memperbarui data.
  • NOT_FOUND: Kunci ini tidak ada pada layanan memcached.