Set matematikten de bildiğimiz küme’dir. Rediste ise set sırasız ve unique stringleri bir arada tutan bir veri yapısıdır. Yani siz rediste bir set’e aynı 2 elemanı koyamazsınız. Koysanız dahi set içerisinde bu elemandan 1 tane olacaktır. Bu aslında matematikten de aşina olduğumuz bir durum. Matematikte bir {1,1,1,2,3,4} = {1,2,3,4} tür. Redisteki sets yapısı da matematikteki kümelerin yansımasıdır. Setler üzerinde iki setin birleşimini, kesişimi gibi işlemleri de yapabilirsiniz. Sıralı veri tutmaz bu sebeple listteki gibi pop push işlemlerini yapamazsınız. Elemanlarını unique tutmak içinse hash table kullanır.
Rediste setlerle ilgili yapabileceğiniz bazı operasyonlar ve komutları aşağıda verilmiştir.
- Set oluşturma, dönen sonuç kaç elemanın sete eklendiğini gösterecektir.
sadd key values sadd myset1 1 2 3 4
- Set elemanlarını çekme
smembers key smembers myset1
- Sets’e eleman ekleme , dönen sonuç kaç elemanın sete eklendiğini gösterecektir.
sadd myset1 3
- İki set arasındaki farkları bulma
sdiff set1 set2
- 2 set arasındaki farkları başka bir sette toplama
sdiffstore myset3 myset1 myset2
- İki setin bileşimi
sunion myset1 myset2
- İki setin bileşim başka sete toplama
sunionstore myset4 myset1 myset2
- Setten eleman silme
srem myset 9 srem myset 8 7 9
- Setten rastgele eleman silme , dönen sonuç silinen elemandır.
spop myset4 1
- İki set kesisimi
sinter myset1 myset2
- İki set kesimişimi tutma
sinterstore myset5 myset1 myset2
- Bir setten diğerine eleman taşıma
smove myset1 myset2 taşnacakelemenanınkendisi