پاسخ داده شد
Second Level cache در هایبرنت چیست؟
- فرشته حقیقی 3 سال قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ عالی
Second Level cache بازیابی اطلاعات از دیگر session ها است.در first level cache تنها می توانیم اطلاعات را از session خودمان بازیابی کنیم اما در Second Level cache می توانیم از دیگر session ها نیز بازیابی کنیم.مکانیزم Second Level cache به این صورت می باشد که هایبرنت در هنگام واکشی اطلاعات ابتدا بررسی می کند که آیا اطلاعات مورد نیاز در این session موجود می باشد یا خیر.درصورتیکه اطلاعات دراین session نبود دیگر session ها بررسی می کند.درصورتیکه اطلاعات در دیگر session ها بود آنها را بازیابی می کند در غیر اینصورت از دیتابیس واکشی می کند.
public class HibernateEHCacheExample2 {
public static void main(String[] args) {
System.out.println("java.io.tmpdir: " + System.getProperty("java.io.tmpdir"));
// Initialize Sessions
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Statistics stats = sessionFactory.getStatistics();
Session session1 = sessionFactory.openSession();
Session session2 = sessionFactory.openSession();
Transaction transaction1 = session1.beginTransaction();
Transaction transaction2 = session2.beginTransaction();
printStats(stats);
System.out.println("--------Step 1--------");
Student student = (Student) session1.load(Student.class, 23L);
System.out.println("--------Step 2--------");
student = (Student) session2.load(Student.class, 23L);
// Release resources
transaction1.commit();
transaction2.commit();
session1.close();
session2.close();
}
- فرشته حقیقی 3 سال قبل پاسخ داد
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ شما