kembalikan DECR

Kembalikan Decr



Manipulasi Integer Redis

Tipe string adalah tipe data paling mendasar yang ditawarkan Redis. String redis mampu menyimpan teks, objek JSON serial, gambar, audio, dan bahkan nilai numerik. Dalam panduan ini, kita akan fokus pada nilai numerik dan manipulasi bilangan bulat. Redis tidak mendukung tipe data integer terpisah untuk menyimpan data numerik. Jika kunci Redis berisi string yang dapat direpresentasikan sebagai bilangan bulat, Redis dapat menginterpretasikan nilai angka sebagai bilangan bulat bertanda 64-bit basis-10.


Manipulasi angka adalah fitur yang sangat berguna untuk dimiliki dalam basis data apa pun. Redis menawarkan beberapa operasi yang berguna untuk bekerja pada tipe integer seperti INCR, DECR, INCRBY, dll. Dalam panduan ini, perintah DECR yang beroperasi pada tipe integer dijelaskan secara rinci.







Perintah DECR

Perintah DECR diperkenalkan untuk mengurangi nilai angka yang disimpan pada kunci tertentu per satu. Ini hanya berfungsi pada nilai string yang dapat direpresentasikan sebagai bilangan bulat 64-bit basis-10. Perintah DECR memunculkan kesalahan untuk nilai non-string atau nilai string yang tidak dapat direpresentasikan sebagai bilangan bulat.



Berikut ini adalah sintaks dari perintah DECR:



kunci DECR


Kunci: Kunci yang menyimpan nilai string.





Perintah DECR mengembalikan bilangan bulat bertanda yang dihasilkan setelah operasi penurunan. Jika kunci yang ditentukan tidak ada, perintah menetapkan nilai ke 0 dan kemudian menguranginya satu per satu. Juga, kesalahan dilemparkan ketika nilainya bukan string atau tidak dapat direpresentasikan sebagai bilangan bulat bertanda 64-bit. Perintah ini beroperasi pada kompleksitas waktu konstan (O(1)) yang sangat cepat.

Use Case – Menurunkan Kesehatan Pemain dalam Game Online

Mari kita asumsikan game online di mana kesehatan setiap pemain bertambah satu saat paket media terungkap. Demikian pula, kesehatan berkurang satu jika pemain jatuh atau dipukul oleh pemain lain.



Kandidat ideal untuk menyimpan kesehatan pemain adalah tipe string Redis di mana kita dapat menyimpan kesehatan sebagai bilangan bulat. Mari kita buat kunci kesehatan:playerID: 1 dan atur nilainya menjadi 10. Kita dapat menggunakan perintah SET sebagai berikut:

mengatur kesehatan:playerID: 1 10



Kita dapat menggunakan perintah GET untuk memverifikasi nilai yang disimpan di kesehatan:playerID:1.

dapatkan kesehatan:playerID: 1



Katakanlah pemain dengan ID 1 terkena dan kesehatannya harus dikurangi satu. Perintah DECR dapat digunakan sebagai berikut:

kesehatan Desember:playerID: 1


Seperti yang diharapkan, perintah DECR mencetak nilai yang diperbarui setelah operasi pengurangan seperti yang ditunjukkan pada gambar berikut:


Juga, kita dapat memeriksa nilai yang disimpan di kunci kesehatan:playerID: 1 dengan perintah GET.

dapatkan kesehatan:playerID: 1



Seperti yang diharapkan, nilainya berkurang satu.

Operator DECR juga valid dengan angka negatif. Mari kita simpan nilai numerik negatif baru di kunci negatif:nilai1 .

mengatur negatif:nilai1 -3


Kita dapat memeriksa nilainya menggunakan perintah GET sebagai berikut:

dapatkan negatif: nilai1



Perintah berikut menunjukkan bagaimana perintah DECR digunakan pada tombol negatif:nilai1:

decr negatif:nilai1


Perintah DECR pada Nilai Non-Bilangan Bulat

Ada beberapa kasus tepi ketika kami mencoba menggunakan perintah DECR pada kunci Redis yang menyimpan tipe data non-string atau string yang tidak dapat direpresentasikan sebagai bilangan bulat. Perintah DECR memunculkan kesalahan dalam kasus tersebut seperti yang ditunjukkan pada contoh berikut:

mengatur notAnIntergerVal Halo


'Halo' adalah teks yang tidak dapat dikonversi ke bilangan bulat yang ditandatangani. Jadi, perintah DECR menimbulkan kesalahan jika kita memanggilnya melawan kunci ini.

decr notAnIntergerVal


Perintah DECR pada Kunci yang Tidak Ada

Dalam beberapa kasus, Anda mungkin memanggil perintah DECR pada kunci yang tidak ada di penyimpanan data Redis. Jadi, perintah membuat kunci yang ditentukan dan menetapkan nilainya ke bilangan bulat 0. Pada saat yang sama, nilainya berkurang satu.

decr kunci yang tidak ada


Seperti yang diharapkan, outputnya adalah -1.


Secara keseluruhan, perintah DECR sangat berguna untuk mengimplementasikan penghitung dalam aplikasi latensi rendah.

Kesimpulan

Singkatnya, DECR adalah salah satu perintah yang beroperasi pada nilai numerik yang disimpan pada kunci Redis yang diberikan. Redis tidak mendukung tipe data integer terpisah. Jadi, tipe string digunakan untuk menyimpan nilai numerik juga. Seperti yang diperiksa, jika nilai string dapat direpresentasikan sebagai integer bertanda 64-bit, perintah DECR dapat digunakan untuk mengurangi nilainya. Yang terpenting, ini beroperasi pada kompleksitas waktu yang konstan. Juga, perintah DECR banyak digunakan untuk mengimplementasikan penghitung.