1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/deng.zz-DCommon.Caching

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Компонент кэширования Redis, характеристики следующие:

  1. Единый вход для вызова кэша: ICache, поддерживает встроенный кэш (режим разработки) и распределённый кэш (режим выпуска) с возможностью свободной смены;
  2. Совместимость с Codis;
  3. При использовании распределённого кэша поддерживается двухуровневый кэш (SSD).

Пример использования:

Инициализация:
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 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/deng.zz-DCommon.Caching.git
git@api.gitlife.ru:oschina-mirror/deng.zz-DCommon.Caching.git
oschina-mirror
deng.zz-DCommon.Caching
deng.zz-DCommon.Caching
master