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