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

OSCHINA-MIRROR/msimw-mcache

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

Об использовании и расширении унифицированного инструмента кэширования

1. Назначение:

Система унифицированного кэширования позволяет разработчикам не задумываться о конкретной реализации кэша, а сосредоточиться на бизнес-логике.

2. Реализация функций:

Грубозернистое кэширование + относительно мелкозернистое кэширование.

Maven

<dependency>
    <groupId>com.github.msimw</groupId>
    <artifactId>mcache</artifactId>
    <version>1.0</version>
</dependency>

3. Как использовать:

  1. Введение в аннотации:

    1. Cached:
    • Используется для пометки класса, который необходимо кэшировать.
    • Атрибут value используется для указания группы кэша, значение по умолчанию — cache.
    1. Cacheable:
      • Используется для методов, которые необходимо кэшировать.
      • Атрибут cache указывает, какой тип кэша использовать. В настоящее время поддерживаются redis и memcache.
      • Атрибут value указывает группу кэша, значением по умолчанию является bst.
      • Атрибут String[] keys используется для указания полей, используемых в качестве ключа кэша. Это могут быть параметры или свойства параметров. Если есть несколько повторяющихся имён свойств, можно использовать форму [параметр.свойство] (например, user.name).
      • Атрибут survivalTime указывает срок жизни кэша в секундах. Значение по умолчанию составляет 30 минут, -1 означает бесконечный срок действия.
 3. CacheEvict или CacheEvicts (для очистки нескольких кэшей):
    * Используются для методов с обновлённым кэшем.
    * Описание атрибутов аналогично Cacheable.

 4. Для удовлетворения потребностей, не удовлетворяемых унифицированным кэшированием, можно использовать интерфейс CacheSupport для ручного управления.
 5. Импортируйте файл applicationContext-cache.xml в проект, требующий кэширования.

4. Как расширить:

1. Реализуйте интерфейс CacheHandler или наследуйте класс AbstractCacheHandler.
2. Внедрите новый обработчик кэша в перехватчик CacheInterceptor.
3. Теперь можно выбрать соответствующий обработчик кэша для аннотаций Cacheable.

5. Пример:

  1. Код примера:

    @Cached public class DemoServiceImpl implements IDemoService {

     /**
      * Кэширование
      */
      @Cacheable(keys = "id")
      public String query(String id, String name) {
          return "helloworld";
      }
    
     /**
      * Обновление
      */
      @CacheEvict(keys = "id")
      public void update(String id, String name) {
      }
    
     /**
      * Запрос
      */
      @Cacheable(keys = "id")
      @Override
      public String query1(String id) {
          return null;
      }
    
     /**
      * Обновление
      */
      @CacheEvict(keys = "id")//or  @CacheEvict(keys = "demo.id")
      @Override
      public void update1(Demo demo) {
      }

    }

  2. Файл конфигурации:

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

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

Введение

На основе системы Spring реализуется унифицированное кэширование (относительно детализированное), что позволяет разработчикам не задумываться о конкретной реализации кэша и больше сосредоточиться на бизнес-логике. Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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