حذف دادهها از کش برای حذف دادهها از کش، میتوانید از متد RemoveAsync استفاده کنید:
public async Task RemoveProductFromCacheAsync(int productId, CancellationToken cancellationToken = default)
{
var cacheKey = $"product-{productId}";
await _cache.RemoveAsync(cacheKey, cancellationToken);
}
مثال Real-World: کش کردن اطلاعات کاربران در یک سیستم احراز هویت در یک سیستم احراز هویت، اطلاعات کاربران مانند نقشها و دسترسیها میتوانند به طور مکرر مورد استفاده قرار گیرند. با استفاده از Hybrid Cache، میتوانید این اطلاعات را کش کنید تا درخواستهای بعدی سریعتر پردازش شوند.
public class UserService
{
private readonly HybridCache _cache;
public UserService(HybridCache cache)
{
_cache = cache;
}
public async Task GetUserInfoAsync(string userId, CancellationToken cancellationToken = default)
{
var cacheKey = $"user-info-{userId}";
return await _cache.GetOrCreateAsync(
cacheKey,
async cancel =>
{
// بازیابی اطلاعات کاربر از پایگاه داده
return await FetchUserInfoFromDatabaseAsync(userId, cancel);
},
new HybridCacheEntryOptions
{
Expiration = TimeSpan.FromMinutes(60),
LocalCacheExpiration = TimeSpan.FromMinutes(10)
},
cancellationToken
);
}
private async Task FetchUserInfoFromDatabaseAsync(string userId, CancellationToken cancellationToken)
{
// شبیهسازی یک عملیات زمانبر
await Task.Delay(500, cancellationToken);
return new UserInfo { UserId = userId, Roles = new[] { "Admin", "Editor" } };
}
}
نتیجهگیری ابزاز Hybrid Cache در .NET 9 یک ابزار قدرتمند برای بهبود عملکرد و سادگی در مدیریت کش است. با ترکیب کش حافظه داخلی و کش توزیعشده، این ویژگی به توسعهدهندگان اجازه میدهد تا برنامههای خود را بهینهتر و مقیاسپذیرتر کنند. با استفاده از مثالهای ارائهشده، میتوانید به راحتی این ویژگی را در پروژههای خود پیادهسازی کنید و از مزایای آن بهرهمند شوید.
برای اطلاعات بیشتر به
مستندات رسمی مایکروسافت مراجعه کنید.