5.Redis set komutları

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