Компонент Redis-кэша, характеристики:
Единый интерфейс вызова кэша: ICache, поддерживает свободный переход между памятью (режим разработки) и распределённым кэшем (режим генерации).
Совместим с Codis.
При использовании распределённого кэша поддерживается вторичный кэш (кэш в памяти).
Вызов:
var services = new ServiceCollection();
services.AddMemoryCache(option => { });
services.AddSingleton(sp => new RedisService("localhost:32768"));
services.AddDistributedRedisCache(option => { option.InstanceName = "local"; });
services.AddSingleton<ICacheSerializer, JsonCacheSerializer>();
services.AddSingleton<ICacheProvider, DistributedCacheProvider>();
services.AddSingleton<CacheFactory>();
class PostManager
{
private readonly ICache m_Cache;
public PostManager(CacheFactory cacheFactory)
{
m_Cache = cacheFactory.GetCache("Post");
}
public Post Get(int id)
{
var key = CacheKey.NewCacheKeyString(id);//окончательный формат: local:Post:{id}
var data = m_Cache.Get<Post>(key);
if(data == null){
//TODO: получить из базы данных
//m_Cache.Set(key, data);
}
return data;
}
public void Delete(int id)
{
var key = CacheKey.NewCacheKeyString(id);
//TODO: удалить из базы данных
m_Cache.Remove(key);
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )