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.