Memulai dengan Watch in Serverless - Amazon ElastiCache

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memulai dengan Watch in Serverless

ElastiCache mendukung WATCH perintah, yang memungkinkan Anda untuk memantau kunci untuk perubahan dan menjalankan transaksi bersyarat. WATCHPerintah ini sangat berguna untuk aplikasi yang memerlukan kontrol konkurensi optimis, memastikan bahwa transaksi hanya dijalankan jika kunci yang dipantau belum dimodifikasi. Ini termasuk modifikasi yang dilakukan oleh klien, seperti perintah tulis, dan oleh Valkey sendiri, seperti kedaluwarsa atau penggusuran. Jika kunci dimodifikasi dari saat mereka dipasang WATCH dan pada saat EXEC diterima, seluruh transaksi akan dibatalkan.

Untuk ElastiCache Tanpa Server, kendala berikut diperkenalkan -

ElastiCache Tanpa server WATCH dicakup ke satu slot hash. Itu berarti hanya kunci yang memetakan ke slot hash yang sama yang dapat ditonton pada saat yang sama dengan koneksi yang sama, dan transaksi yang mengikuti perintah jam tangan hanya dapat beroperasi pada slot hash yang sama. Ketika aplikasi mencoba untuk menonton kunci dari slot hash yang berbeda, atau menjalankan perintah transaksi yang beroperasi pada kunci yang dipetakan ke slot hash yang berbeda dari tombol yang diawasi, CROSSSLOT kesalahan akan dikembalikan. Tag hash dapat digunakan untuk memastikan beberapa kunci dipetakan ke slot hash yang sama.

Selain itu, SCAN perintah tidak dapat dijalankan di dalam koneksi dengan kunci yang ditonton dan akan mengembalikan command not supported during watch state kesalahan.

Transaksi akan dibatalkan (seolah-olah kunci yang ditonton disentuh) ketika ElastiCache Tanpa Server tidak memiliki kepastian apakah kunci telah dimodifikasi. Misalnya, ketika slot telah dimigrasikan dan kunci yang ditonton tidak dapat ditemukan pada node yang sama.

Contoh Kode

Dalam contoh berikut, kunci yang ditonton dan kunci yang ditentukan dalam peta SET perintah ke slot hash yang berbeda. Eksekusi mengembalikan aCROSSSLOT ERROR.

> WATCH foo:{005119} OK > MULTI OK > SET bar:{011794} 1234 QUEUED > EXEC CROSSSLOT Keys in request don't hash to the same slot

Contoh berikut menunjukkan transaksi yang berhasil, karena kunci yang disetel WATCH tidak berubah.

> WATCH foo:{005119} OK > MULTI OK > SET bar:{005119} 1234 QUEUED > EXEC 1) OK

Dalam contoh berikut, upaya untuk WATCH kunci dari slot yang berbeda secara bersamaan dalam koneksi klien yang sama mengembalikan fileCROSSSLOT ERROR.

> WATCH foo:{005119} OK > WATCH bar:{123455} CROSSSLOT Keys in request don't hash to the same slot

Batas tontonan

Setiap koneksi klien dapat menonton hingga 1000 kunci secara bersamaan.

Perintah yang didukung terkait dengan Watch

Perintah WATCH dan UNWATCH didokumentasikan di situs web Valkey.io. Ini memberikan gambaran komprehensif dari perintah, termasuk sintaks, perilaku, nilai pengembalian, dan kondisi kesalahan potensial.