Redis SCARD

Redis Scard



“Set Redis adalah kumpulan string yang tidak terurut yang tidak mengandung duplikat. Ini sangat mirip dengan Java HashSets, Python Sets, dll. Yang terpenting, operasi dasar seperti menambah, menghapus, dan memeriksa keberadaan anggota sangat efisien karena beroperasi dalam kompleksitas waktu O(1).”

Anggota Himpunan

Seperti disebutkan, set Redis berisi item string unik. Item yang sudah ada tidak akan diterima oleh set Redis dan akan diabaikan. Selain itu, satu set tunggal dapat menampung hingga 4 miliar string unik.









Sifat set Redis dalam menyimpan anggota unik sangat berguna dalam beberapa kasus penggunaan di dunia nyata.



  • Kemampuan untuk melakukan operasi set standar seperti Union, Intersection, dan Difference.
  • Melacak pengunjung unik ke situs web
  • Mewakili relasi entitas dunia nyata

Perintah SCARD

Perintah SCARD, kependekan dari Set Cardinality, mengembalikan jumlah anggota dalam set yang disimpan pada kunci tertentu. Ini beroperasi dalam kompleksitas waktu O(1) yang berarti waktu yang dibutuhkan perintah SCARD untuk mengeksekusi tidak bergantung pada jumlah anggota dalam set yang diberikan. Itu selalu membutuhkan waktu yang konstan.





Perintah SCARD memiliki sintaks yang sangat sederhana, seperti yang ditunjukkan berikut ini.

set_key SCARD

set_key: Kunci set Redis



Perintah ini mengembalikan nilai integer yang merupakan jumlah anggota di set.

Kasus Penggunaan – Hitung Pengunjung Unik ke Situs Web

Asumsikan perusahaan pizza 'YummyPizza' mengelola situs web bernama yummypizza.com tempat orang dapat memesan pizza secara online. Untuk melacak penjualan dan basis pelanggan mereka, mereka memelihara database Redis untuk menyimpan semua pengunjung unik ke situs web setiap bulan.

Setiap kali pengguna mengunjungi situs web YummyPizza, id pengguna harus ditambahkan ke database Redis. Selain itu, pengguna yang sama juga tidak boleh ditambahkan ke database. Jadi, struktur data yang ideal adalah set Redis, di mana set hanya menyimpan anggota unik.

Mari kita asumsikan lima pengguna telah mengunjungi situs web, dan anggota ini ditambahkan ke database Redis, seperti yang ditampilkan berikut ini.

SADD Yummy PizzaPengunjung: Oktober John Mary Raza Stoinis Prince

Seperti yang diharapkan, bilangan bulat 5 telah dikembalikan, yang berarti lima anggota ditambahkan ke set yang disimpan di kunci “ YummyPizzaPengunjung: Oktober.

Pada akhirnya, admin perusahaan perlu memeriksa jumlah total pengunjung unik ke situs web. Jadi, kardinalitas Set perlu dihitung. Untungnya, perintah SCARD yang telah dibahas sebelumnya sangat berguna dalam jenis skenario ini.

Mari jalankan perintah SCARD pada set yang disimpan di key “ YummyPizzaPengunjung: Oktober.

scard YummyPizzaPengunjung: Oktober

Outputnya adalah 5, yang berarti lima anggota unik ada di set yang ditentukan. Perintah ini dijalankan terlalu cepat. Tidak masalah lima anggota atau 50.000 anggota; waktu eksekusi akan konstan.

Asumsikan kunci set yang ditentukan tidak ada di database Redis. Kemudian, outputnya akan menjadi 0, seperti yang ditunjukkan pada contoh berikut. Dalam hal ini, kami akan menentukan kunci yang tidak ada di database.

scard NonExistingKey

Kesimpulan

Ringkasnya, set Redis adalah kandidat ideal untuk menyimpan string unik. Seperti yang telah dibahas, hal terpenting tentang kumpulan Redis adalah bahwa sebagian besar operasi kumpulan yang terkait membutuhkan waktu yang konstan untuk dijalankan. Perintah SCARD adalah salah satu perintah set yang paling banyak digunakan untuk menghitung jumlah total anggota set untuk set tertentu yang disimpan pada kunci tertentu. Tidak peduli berapa banyak anggota set yang tersedia, perintah ini membutuhkan waktu yang konstan untuk memberikan output. Seperti yang ditunjukkan pada contoh terakhir, jika kunci set tidak ada, maka hasilnya adalah 0.