“Redis or Die, Remember? “Ortaya Karışık Yazılım Serisi — 2
Previously on Redis or Die, Remember? => LINK
Bilindiği üzere Redis aynı zamanda mesaj broker olarak kullanılabilir bir şekilde tasarlandı. Peki nedir bu Pub/Sup mezvusu;
Redis Pub/Sub, gönderenlerin (redis terminolojisinde yayıncı olarak adlandırılır) iletileri gönderirken, alıcılar (subscribers) bunları aldıkları mesajlaşma sistemini uygular işte bu mesajların aktarıldığı bağlantı kanal olarak adlandırılır.

Temelde 6 adet PubSub komutu var;
- PSUBSCRİBE: Verilen kalıplarla eşleşen kanallara abone olur.
- PUNSUBSCRİBE: Verilen kalıplarla eşleşen kanallara gönderilen iletileri dinlemeyi durdurur.
- PUBLISH: Bir kanala mesaj gönderir.
- SUBSCRIBE: Verilen kanallara yayınlanan mesajları dinler.
- UNSUBSCRIBE: Verilen kanallara gönderilen iletileri dinlemeyi durdurur.
- PUBSUB: Pub/Sub sisteminin durumunu söyler. Örneğin, hangi istemcilerin sunucuda etkin olduğu.

Artık örnek zamanı diyelim;
Basitçe yukarıda ne yaptık ? bir Publisher oluşturduk kanal adını hakanTv koydum göndereceği mesaja da “du dud du du” süper geriye sadece bunu dinlemek kaldı yani bir subscriber yapacağız.
Evet hakanTV kanalına üye olduk while True ile sürekli dinleme haline getirdik. Publisher bir mesaj attığı zaman subscribe kısmında söyle bir çıktı oluşacaktır.
{‘type’: ‘message’, ‘pattern’: None, ‘channel’: b’hakanTV’, ‘data’: b’du dud du ‘}
Akıllara gelecek diğer soru şu olabilir ya kardeşim sen tek kanala üye oldun peki ben bunu multi bir şekilde yapabilir miyim? cevap evet yapabilirsin peki bu nasıl olacak?
pubsub.subscribe(['hakanTV','necatiTV'])
Hepsi bu kadar!
pubsub.psubscribe(['neca*'])
Pattern ile subs yapmak için psubscribe kullanabiliriz. Aynısı punsubscribe için de geçerli.

Yine klasik kapanışımız ile kapatalım. Ortaya Karışık Yazılım Serisi’ne kendinizi yakın hissediyorsanız paylaşarak destek olabilirsiniz yaptığım hata ve öneriler için Twitter üzerinden ulaşabilirsiniz.
“Ee anlatsana, sık sık Elasticsearch kullanır mısın ? “ Ortaya Karışık Yazılım Serisi — 3