إسبات المستوى الثاني من ذاكرة التخزين المؤقت <<net.sf.ehcache.hibernate.EhCacheProvider>>

StackOverflow https://stackoverflow.com/questions/1216630

سؤال

أرغب في استخدام ذاكرة التخزين المؤقت من المستوى الثاني في مشروع السبات الخاص بي ولكني أعرف القليل عن ذاكرة التخزين المؤقت من المستوى الثاني للإسبات، هل يمكن لأي أحد أن يشرح كيف يجب أن أستخدم هذا في الكود الخاص بي وما هو التكوين وملف .jar الذي أحتاجه؟لقد قمت بتعيين هذه الإعدادات على ملف hibernate.cfg.xml الخاص بي

 <property name="hibernate.cache.use_query_cache">true</property>
    <property name="hibernate.cache.use_second_level_cache">true</property>
    <property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>

وأضف ملف الجرة هذا ehcache-1.6.1.jar, ehcache-1.6.1-javadoc.jar, ehcache-1.6.1-sources.jar أريد أن أعرف هل يجب علي تغيير أي تكوين آخر؟

وكيف يمكنني أن أفهم أن مشروعي يستخدم ذاكرة التخزين المؤقت من المستوى الثاني؟

إذا قمت فقط بوضع هذا الإعداد، استخدم هذا الإعداد تلقائيًا أو يجب أن أستخدم رمزًا آخر في فئة .java الخاصة بي (مثل أي تعليق توضيحي أو أي شيء آخر)

هل كانت مفيدة؟

المحلول

التعليق التوضيحي الذي تبحث عنه هو org.hibernate.annotations.Cache.الاستخدام الأساسي هو:

@Entity
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public MyEntity {
    ...

  @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
  public List<ElementType> getSomeCollection() {
    ...
  }
}

للاستفسارات، تحتاج إلى تمكين ذاكرة التخزين المؤقت للاستعلام عن طريق الإعداد hibernate.cache.use_query_cache الخاصية صحيحة وحدد أن الاستعلام قابل للتخزين المؤقت في إعلانه (للاستعلامات المسماة) أو عن طريق الاتصال setCacheable(true) على مثيل الاستعلام.

بعد كل ما سبق، عليك أن تكون حذرًا للغاية فيما يتعلق بالتخزين المؤقت و فهم حقا ما تفعله، وإلا فإنه سوف يضر أكثر مما ينفع.لا تنظر إلى الأمر على أنه "حل سريع" - فالتخزين المؤقت لكل شيء، على سبيل المثال، هو كذلك قطعاً الشيء الخطأ الذي يجب القيام به.

نصائح أخرى

والإعدادات الخاصة بك وسوف تجعل من المستوى الثاني ومخابئ الاستعلام متاحة للاستخدام في المشروع، ولكن ما زالت هناك حاجة لتمكينه للكيانات محددة، ومجموعات، والاستفسارات. وهذا يتطلب بعض التخطيط الدقيق لأن هناك المقايضات التي ستحتاج لفهم. بشكل عام، والمستوى الثاني ومخابئ الاستعلام والمناسب للبيانات للقراءة فقط أو للقراءة في الغالب، ولكن ليس البيانات متقلبة. إذا كنت لا تملك بالفعل، أود أن أوصي التقاط نسخة من جافا مع استمرار السبات . كان لديه معاملة جيدة جدا من هذا الموضوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top