

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
<a name="ServerlessWatch"></a>

ElastiCache mendukung `WATCH` perintah, yang memungkinkan Anda untuk memantau kunci untuk perubahan dan menjalankan [transaksi](https://valkey.io/topics/transactions/) bersyarat. `WATCH`Perintah 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](https://valkey.io/topics/cluster-spec/#hash-tags) 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**

## Tonton dan Operasikan pada Tombol dari Slot Berbeda
<a name="w2aac24c33c15b1"></a>

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

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

## Tonton dan Operasikan pada Tombol dari Slot yang Sama
<a name="w2aac24c33c15b3"></a>

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
```

## Tonton kunci dari Slot Berbeda
<a name="w2aac24c33c15b5"></a>

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

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

## Batas tontonan
<a name="ServerlessWatch.size"></a>

Setiap koneksi klien dapat menonton hingga 1000 kunci secara bersamaan.

## Perintah yang didukung terkait dengan Watch
<a name="SupportedCommandsWatch"></a>

Perintah [WATCH](https://valkey.io/commands/watch/) dan [UNWATCH](https://valkey.io/commands/unwatch/) didokumentasikan di situs web [Valkey.io](https://valkey.io/). Ini memberikan gambaran komprehensif dari perintah, termasuk sintaks, perilaku, nilai pengembalian, dan kondisi kesalahan potensial.