Ленивая загрузка, кэш, кэш L2

--- --- восстановление начинается содержание

Концепция:

MyBatis задержка в загрузке, также называемый отложенной загрузки означает выполнение таблицы , связанной с запросом , задержка в соответствии с правилами , установленными для соответствующего объекта откладывается запрос на выборку. Например, при выполнении многих из запроса, запрос только один, когда программа многопартийной требует данных, а затем отправить MyBatis SQL Statement запросы, таким образом , может уменьшить базу данных задержки давления загрузки. MyBatis задержка загрузка только запросы на соответствующем объекте имеет множество задержку , основные объекты загружаются выполнить запрос непосредственно.

возможность загрузки:

  • Прямая загрузка: завершение загрузки основных объектов оператора выбора, немедленно выполнить запрос , чтобы выбрать соответствующий объект.
  • Инвазивная Задержка: при выполнении запроса на первичных объектах загрузки, не будет выполнять запросы на соответствующем объекте. Но если вы хотите получить доступ к основным детали объекта нагрузки свойства , связанные объекты будут немедленно выполнить запрос на выборку.
  • Задержка Глубина: при выполнении запроса на первичные объекты загрузки, не будет выполнять запросы на соответствующий объект. Он не будет выполнять соответствующий объект , когда объект загружен , чтобы получить доступ основных деталей запроса на выборку. Только тогда , когда реальные детали для доступа к соответствующему объекту, выберите запросы будут выполняться на соответствующем объекте.

Примечание: задержка загрузки приложений: Запрос запросы объектов , связанная с первичным объектом нагрузки должен выполняться отдельно выберите заявление не может быть выполнен с использованием нескольких таблиц присоединяется выберите запрос. Поскольку мульти-соединение таблиц запросов, по сути, запрос таблицы, запрос на столе Почты несколько таблиц , соединенный сформирован. Вся информация будет разовый запрос кратна таблица из.

Инвазивная ленивым конфигурация загрузки:

Mybatis-config.xml большой профиля, первая включение нагрузки задержки, а затем загрузки конфигурации навязчивые

Когда главный объект загружается не только вызов SQL

 

Она будет иметь два основных объекта загружается , когда информация называется SQL

 

Глубина задержка загрузки:  

    Mybatis-config.xml большой файл конфигурации, сначала откройте отложенной загрузки, а затем настроить глубину загрузки

     

     

    Вторая нагрузка не будет выполняться при вызове основной объект загружается SQL

     

     

    Второй запрос выполняет связанные объекты Для получения дополнительной информации звоните

    

    

кэш:  

 Использование кэша запросов, главным образом, для повышения скорости доступа запроса. Процесс запроса пользовательских данных повторяется для того же упрощены, больше не получить результаты, каждый раз, когда данные запроса из базы данных, тем самым повышая скорость доступа.

    A. разделение кэша

        Согласно буферному классовому делению цикла сферы и жизни:

          Кэш уровня (большой профиль настройки узла имя атрибута)

           

          Вторичный кэш

          

II. кэш Описание

    MyBatis сфера кэш запросов основан на отображение файла пространства имен разделения, то же пространство имен из картографа запроса данных в одной и той же области кэша. Различные пространства имен данные в неинтерферирующем.

    Будь то кэш или вторичный кэш, все в соответствии с пространством имен отдельно хранится.

    А, за исключением того, что вторичный кэш, SqlSession один раз закрыт, SqlSession данные не будут присутствовать, то есть, кэш перестают существовать. Вторичный кэш синхронизируется с всем жизненным циклом приложения, и SqlSession закрыт связан. Другими словами, кэш в том же потоке ( же SqlSession) для обмена данными между ними, и вторичного кэша в разных потоках ( отличной от по SqlSession) для обмена данными между ними.

III. Кэш существует для того чтобы доказать

На этой же сессии ( SqlSession ) выполняют те же два SQL , обратите внимание на консоль , чтобы отправить несколько SQL

 

Лежащая в основе реализацией является кэшем карты , карта «s ключ основан на запросе, использовать ORM разные рамок, основанные на различных запросах, Mybatis запрос основой для SQL » s ID + SQL заявления, Hibernate является результатом объекта запроса ID

Внутривенно Дополнения и делеции влияют изменения в кэше

  

   

   

   

V. кэш Заключение

  1. Mybatis кадр естественный интегрированный кэш
  2. Базис запроса кэша для SQLID + SQL заявления
  3. Дополнения и удаления будет очистить кэш

Вторичный кэш

  A. Встроенный в конфигурации вторичного кэша

      1. Откройте файл конфигурации большой кэш второго уровня, по умолчанию открывается

        

      2. В Mapper файле небольшой конфигурации, добавьте тег кэша <кэш />

        

         

       3. организации для достижения сериализуемых (маркерные интерфейсов: нет никакой возможности)

        

         

       4. Тест

        

         

    II. Влияние делеции на вторичном изменении кэша

        Аналогично CRUD смывает вторичного кэша

           

           

      III. Закрыть , чтобы обновить кэш (после того, как не закрывая больше не выполнять SQL запросы)

          В небольших добавлений и удалений в конфигурации соответствующего узла, добавлена FlushCache является ложным

              

              

               

               

    Внутривенно кэширование запросов не применяется

        Представитель Кэш приложений не будет снова отправить SQL данные запроса

           

           

рекомендация

отwww.cnblogs.com/ws1149939228/p/11672429.html