Sobes.tech
Junior — Middle

Колдонмодо биринчи деңгээлдеги кэштен объектти сактоо жана алуу кандай жүргүзүлөт?

sobes.tech AI

AIден жооп

Javaда, мисалы Hibernate колдонуп жатканда, биринчи деңгээлдеги кэш — бул сессия (Session), ал бир транзакциянын алкагында жүктөлгөн объекттерди сактайт. Биринчи деңгээлдеги кэшке объектти сактоо автоматтык түрдө сессия аркылуу объектти сактоо же жүктөө ыкмаларын чакырганда болот.

Бир объектти биринчи деңгээлдеги кэштен алуу ошол эле сессияда ошол эле идентификатор менен кайра кайтарганда болот: Hibernate базасына кайрылбайт, объектти кэштен кайтарат.

Мисал:

Session session = sessionFactory.openSession();
session.beginTransaction();

// Объект жүктөлүп, ал биринчи деңгээлдеги кэшке кирет
User user = session.get(User.class, userId);

// Экинчи чакырганда, ошол эле userId менен, объект кэштен алынып, базага суроо берилбейт
User sameUser = session.get(User.class, userId);

session.getTransaction().commit();
session.close();

Мындайча айтканда, биринчи деңгээлдеги кэш сессияга байланган жана жүктөлгөн объекттерди кайра колдонуу аркылуу оптимизацияны камсыздайт, кошумча суроолорсуз базага.