Küme türü ayrıca birden fazla dizi elemanını depolamak için kullanılır, ancak bir listeden farklı olarak, elemanlar sıralanmamış ve tekrarlanamaz ve elemanlar bir indeks aracılığıyla elde edilemez. Aşağıdaki şekilde gösterildiği gibi, user:1:follow kümesi dört öğe içerir: "onun", "it", "sports" ve "music"; ve bir küme, en fazla (2 ile 32 - 1) eleman depolayabilir.
1) Koleksiyon içi işlemler (1) Element eklemek anahtar değeri [değer...] Geri dönüş sonucu ise başarıyla eklenen eleman sayısıdır.
(2) Eleman srem anahtar değerini sil [değer...] Geri dönüş sonucu ise başarıyla silinen eleman sayısıdır.
(3) Kart anahtarı sayısını alın
(4) Elemanın sismember anahtar değeri kümesinde olup olmadığını belirlemek
(5) SrandMember Anahtarı [count] [count] isteğe bağlı bir parametredir, yazılmadıysa varsayılan parametre: 1.
(6) Küme spop tuşu spop işleminden rastgele pop öğeleri, kümeden rastgele bir eleman çıkarabilir.
(7) Küme üyeleri anahtarının tüm elemanlarını alın Koleksiyonun tüm elemanlarını alın ve dönüş sonucu sırasız olur.
2) Koleksiyonlar arasındaki işlem (1) Birden fazla kümenin kesişimini bulun sinter tuşu [anahtar...]
(2) Birden fazla kümelerin birleşimini bul [anahtar...]
(3) Birden fazla küme fark kümesini bulun sdiff anahtarı [anahtar...]
(4) Kesişim, birim ve fark kümesinin sonuçlarını kaydet.
sinterstore storeKey anahtarı [key...] sunionstore storeAnahtar anahtarı [anahtar...] sdiffstore storeAnahtar anahtarı [anahtar...]
Kümeler arasındaki işlem, çok sayıda öğe olduğunda daha zaman alıcı olur, bu yüzden redis, yukarıdaki üç komutu (orijinal komut + depo) sağlar; kesişim, birleştirme ve kümeler arasındaki fark kümelerinin sonuçlarını storeKey'e kaydeder; örneğin, user:1:follows ve user:2:follows koleksiyonları arasındaki kesişim sonuçlarını user:1_2:follows'e kaydeder.
Kaynaklar:https://www.cnblogs.com/pirlo21/p/7120935.html
|