Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 34045|Yanıt: 6

[Kaynak] .NET, son kullanma süresi bildirimleri için Redis önbelleği kullanır

[Bağlantıyı kopyala]
2020-8-22 10:34:59 tarihinde yayınlandı | | | |
Belirli zamanlı işlemler yapılırken, sonuçlar hakkında geri bildirim almamız gerekir. Örneğin, siparişler süresi bittikten sonra otomatik olarak silinir, siparişler birkaç gün sonra otomatik olarak övülür, ödenmemiş siparişler 15 dakika sonra kapanır vb.; bunlar bazı zamanlamalı görev çerçeveleri veya anket yöntemleriyle tamamlanabilir. Bu makale, iş gereksinimlerini tamamlamak için Redis gelişmiş özellik önbellek son bitiş olayı bildirim mekanizmasını .NET/C# kodu ile birleştirerek kullanır.

Giriş

Kullanım senaryoları: 1. Ödeme işlerinde ödenmemiş siparişler otomatik olarak kapanır 2. Önbelleğin son kullanma bitiş hatırlatıcıları

Genel olarak, zamanlama hizmetini ödenmemiş siparişlerin otomatik kapanmasını işlemek için kullanabiliriz; örneğin her dakika arayüzü arayarak ödenmemiş ve süresi dolan siparişleri işlemek, ancak bu durumda bilgisayar performansını tüketir, sipariş olmasa bile her dakika işlenecek ve sipariş işleme süresinin maksimum gecikmesi 59 saniye olur, zamanlama servisi her zaman kullanılabilir olmalıdır

Peki, ödememiş ve süresi dolan siparişler düşük gecikmeli işlemler olduğunda ne yapmak istiyoruz, Redis'in önbellek son kullanma mekanizmasını kullanarak aboneliği itebiliriz.

Redis aboneliği

redis.conf yapılandırma dosyasında notify-keyspace-events Ex'i değiştirin

Kupa kaynaklarını korumak için, etkinlik bildirimleri varsayılan olarak açılmaz ve varsayılan notify-keyspace-events şeklindedir

# K anahtar alanı bildirimi, <db>ön ekte __keyspace@__
# E anahtarı olay bildirimi, <db>ön ekte __keysevent@__
# g del, expipre, rename ve diğer türde genel komutlar, ...
# $string komut
# l List komutu
#s Komutu ayar
# h Hash komutu
# z emredildi komut ayarla.
# x Sona erme olayı (bir anahtar her süresi dolduğunda oluşturulur)
# e tahliye olayı (bellek dolduğunda anahtar temizlendiğinde oluşturulur)
# Bir g$lshzxe takma ad, yani "AKE" tüm olaylar demektir


notify-keyspace-events "kx" bir anahtar için geçersiz hale getirme olaylarını izlemek istediğinizi gösterir. Parametreyi AKE dizesine ayarlamak, her türlü bildirim göndermek anlamına gelir.

Bilgisayarıma redis'i servis olarak yükledim, redis.windows.conf yapılandırma dosyasını değiştirdim ve redis servis yapılandırmasını yeniden başlatmam gerekti.

.NET/C# kod örneği

Paket şöyledir:



çağırmak



Redis-cli ile bir önbellek yazmayı deneyelim.





Aslında, redis-cli üzerinden aşağıdaki komutu çalıştırarak önbellek son kullanma bildirimlerine de abone olabilirsiniz:




N istemci önbellek son kullanma bitimi bildirimine abone olduğunda, redis aşağıdaki şekilde gösterildiği gibi sadece bir istemciyi değil, aynı son kullanma mesajını N kullanıcıya bildirecektir:



C# kaynak kodu indirme:

https://down.itsvse.com/item/17856.html

özet

Redis pub/sub güvenilmez bir mesaj mekanizmasıdır, bilgi depolamıyor, sadece çevrimiçi yönlendiriyor ve kesinlikle ack onay mekanizması yok, sadece abonelik segmenti yönlendirilir, bu yüzden Keyspace Notifications de güvenilmez bir bildirim sistemi, eğer işimiz iyi bir güvenilirliğe ihtiyaç duyuyorsa, bu en iyi seçenek değildir. Genel olarak, bunu uygulamak için RabbitMQ'nun DLX'ini (Dead-Letter-Exchange) öneriyoruz; bu da gecikmeli kuyruk fonksiyonudur. Sadece Redis'in çözümü uygulaması daha kolay ve işletmesi daha ucuz. Yüksek güvenilirlik gerektirmeyen işletmeler için hâlâ çok kullanışlıdır.




Önceki:.NET Core 3.1 Kurulum Çin Akıllı İstemi
Önümüzdeki:.NET tam referans montaj montajını almıyor
2020-8-29 14:33:18 tarihinde yayınlandı |
Öğrenmeyi öğren
2021-11-30 tarihinde 13:16:47 tarihinde yayınlandı |
Öğren
2021-11-30 13:21:02 tarihinde yayınlandı |
Redis pub/sub güvenilmez bir mesaj mekanizmasıdır, bilgi depolamıyor, sadece çevrimiçi yönlendiriyor ve kesinlikle ack onay mekanizması yok, sadece abonelik segmenti yönlendirilir, bu yüzden Keyspace Notifications de güvenilmez bir bildirim sistemi, eğer işimiz iyi bir güvenilirliğe ihtiyaç duyuyorsa, bu en iyi seçenek değildir. Genel olarak, bunu uygulamak için RabbitMQ'nun DLX'ini (Dead-Letter-Exchange) öneriyoruz; bu da gecikmeli kuyruk fonksiyonudur. Sadece Redis'in çözümü uygulaması daha kolay ve işletmesi daha ucuz. Yüksek güvenilirlik gerektirmeyen işletmeler için hâlâ çok kullanışlıdır.
2022-2-14 17:42:43 tarihinde yayınlandı |
Bak, öğren
2022-3-2 tarihinde 15:25:00 tarihinde yayınlandı |
Öğren
2022-7-27 tarihinde 16:40:13 tarihinde yayınlandı |
Öğrenmeyi öğren
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com