DOTNETCODE Telegram 2994
حذف داده‌ها از کش
برای حذف داده‌ها از کش، می‌توانید از متد 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<UserInfo> 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<UserInfo> FetchUserInfoFromDatabaseAsync(string userId, CancellationToken cancellationToken)
{
// شبیه‌سازی یک عملیات زمان‌بر
await Task.Delay(500, cancellationToken);
return new UserInfo { UserId = userId, Roles = new[] { "Admin", "Editor" } };
}
}



نتیجه‌گیری
ابزاز Hybrid Cache در .NET 9 یک ابزار قدرتمند برای بهبود عملکرد و سادگی در مدیریت کش است. با ترکیب کش حافظه داخلی و کش توزیع‌شده، این ویژگی به توسعه‌دهندگان اجازه می‌دهد تا برنامه‌های خود را بهینه‌تر و مقیاس‌پذیرتر کنند. با استفاده از مثال‌های ارائه‌شده، می‌توانید به راحتی این ویژگی را در پروژه‌های خود پیاده‌سازی کنید و از مزایای آن بهره‌مند شوید.

برای اطلاعات بیشتر به مستندات رسمی مایکروسافت مراجعه کنید.
👍5🔥3



tgoop.com/dotnetcode/2994
Create:
Last Update:

حذف داده‌ها از کش
برای حذف داده‌ها از کش، می‌توانید از متد 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<UserInfo> 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<UserInfo> FetchUserInfoFromDatabaseAsync(string userId, CancellationToken cancellationToken)
{
// شبیه‌سازی یک عملیات زمان‌بر
await Task.Delay(500, cancellationToken);
return new UserInfo { UserId = userId, Roles = new[] { "Admin", "Editor" } };
}
}



نتیجه‌گیری
ابزاز Hybrid Cache در .NET 9 یک ابزار قدرتمند برای بهبود عملکرد و سادگی در مدیریت کش است. با ترکیب کش حافظه داخلی و کش توزیع‌شده، این ویژگی به توسعه‌دهندگان اجازه می‌دهد تا برنامه‌های خود را بهینه‌تر و مقیاس‌پذیرتر کنند. با استفاده از مثال‌های ارائه‌شده، می‌توانید به راحتی این ویژگی را در پروژه‌های خود پیاده‌سازی کنید و از مزایای آن بهره‌مند شوید.

برای اطلاعات بیشتر به مستندات رسمی مایکروسافت مراجعه کنید.

BY DotNet | دات نت




Share with your friend now:
tgoop.com/dotnetcode/2994

View MORE
Open in Telegram


Telegram News

Date: |

Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. Users are more open to new information on workdays rather than weekends. Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp. There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday.
from us


Telegram DotNet | دات نت
FROM American