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

OSCHINA-MIRROR/freezy7-Ranger

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

Ranger Лёгкое промежуточное ПО для кэширования, в настоящее время поддерживающее Redis в качестве среды хранения данных.

Использование:

  1. Создайте объект provider, который рекомендуется сделать глобальным объектом. Можно использовать контейнер для сборки объекта provider, например, Spring Framework.
        //init jdies pool
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(100);//максимальное количество подключений
        config.setMaxIdle(5);//максимальное число незанятых подключений
        JedisPool pool = new JedisPool(config, "127.0.0.1", 6379, 1000);//создаём пул подключений к Redis

        //инициализируем serializationUtil
        ProtostuffSerializationUtil util = new ProtostuffSerializationUtil();

        //создаём providerFactory, объединяя пул и утилиту
        CacheProviderFactory c = new CacheProviderFactory(pool, util);
        
        //получаем provider
        CacheProvider provider = c.getProvider();

Или:

    //используем цепное выражение для создания объекта
    new CacheProviderFactory.Builder().setLock(null).setPool(null).setSerializationUtil().build().getProvider()
  1. Объект provider предоставляет следующие методы:
    /**
     * Получает отдельный объект из кэша
     *
     * @param key   ключ кэша
     * @param clazz тип объекта кэша
     * @param <T>   тип кэша
     * @return кэшированный объект
     */
    <T> T getCache(String key, Class<T> clazz);


    /**
     * Извлекает несколько объектов из кэша, все объекты должны быть одного типа
     *
     * @param keys  ключи кэша
     * @param clazz тип объектов кэша
     * @param <T>   тип кэша
     * @return список кэшированных объектов
     */
    <T> List<T> getCache(List<String> keys, Class<T> clazz);

    /**
     * Устанавливает объект в кэш
     *
     * @param key    ключ
     * @param toStore объект для сохранения
     * @param ttl    время жизни -1 означает бесконечное время, единица измерения — секунды
     * @return успешность установки
     */
    boolean setCache(String key, Object toStore, int ttl);


    /**
     * Пакетно устанавливает объекты в кэш
     *
     * @return успешность установки
     */
    boolean setCache(Map<String, Object> params, int ttl);


    /**
     * Удаляет пакет объектов из кэша
     *
     * @param keys набор ключей
     */
    void deleteCache(List<String> keys);


    /**
     * Удаляет один объект из кэша
     *
     * @param key ключ
     */
    void deleteCache(String key);

Комментарии ( 0 )

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

Введение

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

Обновления (2)

все

Участники

все

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

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