Redis SCARD

Redis Scard



“Set Redis ialah koleksi rentetan tidak tertib yang tidak mengandungi pendua. Ini sangat serupa dengan Java HashSets, Python Sets, dll. Paling penting, operasi asas seperti menambah, mengalih keluar dan menyemak kewujudan ahli adalah sangat cekap kerana ia beroperasi dalam kerumitan masa O(1).

Ahli Satu Set

Seperti yang dinyatakan, set Redis mengandungi item rentetan unik. Item yang sedia ada tidak akan diterima oleh set Redis dan akan diabaikan. Tambahan pula, satu set boleh memuatkan sehingga 4 bilion rentetan unik.









Sifat set Redis untuk memegang ahli unik berguna dalam beberapa kes penggunaan dunia sebenar.



  • Keupayaan untuk melaksanakan operasi set standard seperti Kesatuan, Persimpangan dan Perbezaan.
  • Menjejaki pelawat unik ke tapak web
  • Mewakili hubungan entiti dunia sebenar

Perintah SCARD

Perintah SCARD, singkatan untuk Set Cardinality, mengembalikan bilangan ahli dalam set yang disimpan pada kunci yang diberikan. Ia beroperasi dalam kerumitan masa O(1) yang bermaksud masa yang diambil oleh perintah SCARD untuk dilaksanakan tidak bergantung pada bilangan ahli dalam set yang diberikan. Ia sentiasa mengambil masa yang berterusan.





Perintah SCARD mempunyai sintaks yang sangat mudah, seperti yang ditunjukkan dalam berikut.

set_kunci SCARD

set_key: Kunci set Redis



Perintah ini mengembalikan nilai integer iaitu bilangan ahli dalam set.

Kes Penggunaan – Kira Pelawat Unik ke Tapak Web

Anggapkan syarikat piza 'YummyPizza' mengekalkan tapak web yang dipanggil yummypizza.com di mana orang ramai boleh memesan piza dalam talian. Untuk menjejaki jualan dan pangkalan pelanggan mereka, mereka mengekalkan pangkalan data Redis untuk menyimpan semua pelawat unik ke tapak web setiap bulan.

Setiap kali pengguna melawat tapak web YummyPizza, id pengguna harus ditambahkan pada pangkalan data Redis. Selain itu, pengguna yang sama tidak boleh ditambahkan pada pangkalan data juga. Jadi, struktur data yang ideal ialah set Redis, di mana set hanya menyimpan ahli unik.

Mari kita andaikan bahawa lima pengguna telah melawati tapak web, dan ahli ini ditambahkan pada pangkalan data Redis, seperti yang ditunjukkan dalam yang berikut.

SADD YummyPizzaPelawat:Oktober John Mary Raza Stoinis Prince

Seperti yang dijangkakan, integer 5 telah dikembalikan, yang bermaksud lima ahli ditambahkan pada set yang disimpan di kunci “ YummyPizzaPengunjung:Oktober.

Pada penghujung hari, pentadbir syarikat perlu menyemak jumlah pelawat unik ke tapak web. Jadi, kardinaliti Set perlu dikira. Nasib baik, arahan SCARD yang dibincangkan sebelum ini berguna dalam senario jenis ini.

Mari laksanakan arahan SCARD pada set yang disimpan di kekunci ' YummyPizzaPengunjung:Oktober.

scard YummyPizzaPelawat:Oktober

Keluaran ialah 5, yang bermaksud lima ahli unik berada dalam set yang ditentukan. Perintah ini dilaksanakan terlalu cepat. Tidak kira lima ahli atau 50000 ahli; masa pelaksanaan akan tetap.

Andaikan bahawa kunci set yang ditentukan tidak wujud dalam pangkalan data Redis. Kemudian, output akan menjadi 0, seperti yang ditunjukkan dalam contoh berikut. Dalam kes ini, kami akan menentukan kunci yang tiada dalam pangkalan data.

scard NonExistingKey

Kesimpulan

Untuk meringkaskan, set Redis ialah calon yang ideal untuk menyimpan rentetan unik. Seperti yang dibincangkan, perkara yang paling penting tentang set Redis ialah kebanyakan operasi set yang berkaitan mengambil masa yang berterusan untuk dilaksanakan. Perintah SCARD ialah salah satu perintah set yang paling banyak digunakan untuk mengira jumlah bilangan ahli set untuk set tertentu yang disimpan pada kunci yang ditentukan. Tidak kira berapa banyak ahli set tersedia, arahan ini mengambil masa yang berterusan untuk menyediakan output. Seperti yang ditunjukkan dalam contoh terakhir, jika kunci yang ditetapkan tidak wujud, maka output akan menjadi 0.