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

OSCHINA-MIRROR/deng.zz-DCommon.Caching

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

Компонент Redis-кэша, характеристики:

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

  2. Совместим с Codis.

  3. При использовании распределённого кэша поддерживается вторичный кэш (кэш в памяти).

Вызов:

Инициализация:

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 )

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

Введение

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

Обновления

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

Участники

все

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

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