اگر با MediatR کار میکنی و هنوز پاسخ Queryها را دستی Cache میکنی، وقتشه سادهترش کنی.
با استفاده این پکیج فقط یک Attribute روی Request میگذاری؛ بقیه کارها توسط پایپلاین خودکار انجام میشود:
- کش انتخابی (Opt-in)؛ فقط Requestهایی که خودت مشخص میکنی Cache میشوند.
- پاکسازی کش با Tag؛ گروهی حذف کن، نه یکییکی.
- اتریبیوت [RequestOutputCacheEvict] روی Commandها در cqrs برای Invalidation خودکار بعد از موفقیت.
- پاکسازی خودکار کش با EF Core هنگام اجرای SaveChanges / SaveChangesAsync.
- پشتیبانی از Providerهای Redis یا Garnet و حتی Memory cache.
- پاکسازی توزیعشده با Pub/Sub بین سرویسها و CQRS Hostها.
- کش شرطی (Conditional Caching)؛ فقط وقتی عملیات موفق باشد یا شرط دلخواهت برقرار باشد.
- هدر X-NexGen-Output-Cache: HIT هنگام دریافت پاسخ از Cache.
- پشتیبانی از .NET 8، .NET 9 و .NET 10.
یک بار نصب کن، یک بار تست کن؛ تفاوتش را در کاهش Latency و سادهتر شدن کدها احساس میکنی.
NexGen.MediatR.Extensions.Caching
https://github.com/MatinGhanbari/NexGen.MediatR.Extensions.Caching
@DevTwitter | <Askiev/>
Post #12969
5.57K

- ❤ 11
- 👍 5
- 🔥 2