يقدم المقال السابق ذاكرة التخزين المؤقت MyBatis المستوى 1 لك. يمكن للأصدقاء المحتاجين الرجوع إليه.
بالمقارنة مع ذاكرة التخزين المؤقت من المستوى الأول ، فإن ذاكرة التخزين المؤقت من المستوى الثاني لها نطاق أكبر ويمكن مشاركتها بواسطة SQLSessions متعددة.
إذا قمت بإرسال الاستعلام نفسه ، فسيقوم SQL أولاً بالبحث في ذاكرة التخزين المؤقت ، ثم استعن بقاعدة البيانات إذا لم يكن من الممكن العثور عليها.
سيكون لكل خريطة مساحة اسم مساحة ذاكرة التخزين المؤقت الخاصة بها.
إذا كانت مساحات الأسماء للمحميين هي نفسها ، فسيتم تخزين البيانات التي تم الاستعلام عنها عن طريق تنفيذ MAPPER في نفس ذاكرة التخزين المؤقت من المستوى 2.
وبالمثل ، إذا تم تنفيذ SQLSession وتنفيذ الالتزام ، فسيتم مسح ذاكرة التخزين المؤقت الثانوية.
ملف التكوين (يتم تمكينه أيضًا افتراضيًا بدون تكوين):
في sqlmapconfig.xml:
<Setting Name = "Cacheenabled" value = "true"/>
في mapper.xml المقابلة:
<cache/>
إذا لم تكن بحاجة إلى ذاكرة التخزين المؤقت الثانوية ، فيمكنك تعطيل ذاكرة التخزين المؤقت الثانوية في الإعدادات
<srecied usecache = "false"> </select>
يتم قراءة هذا من قاعدة البيانات في كل مرة
بعد تنفيذ إدراج ، تحديث ، حذف ، سيتم تحديث ذاكرة التخزين المؤقت (قم بمسح ذاكرة التخزين المؤقت) ، ويمكن ضبطها على عدم التحديث
بشكل عام لا يتم تعيينه ، قد يسبب الإعداد قراءة قذرة.
<insert flushcache = "false"> </sert>
أمثلة صغيرة:
SQLSession Session1 = Factory.OpenSession () ؛ SQLSession Session2 = Factory.OpenSession () ؛ SQLSession Session3 = Factory.OpenSession () ؛ usermapper mapper1 = session1.getMapper (usermapper.class) ؛ usermapper mapper2 = session2.getMapper (usermapper.class) ؛ usermapper mapper3 = session3.getMapper (usermapper.class) ؛ // الطلب الأول هو الاستعلام عن المستخدم باستخدام user user 1 = mapper1.finduserbyid (1) ؛ System.out.println (user1) ؛ // أغلق بيانات الكتابة إلى Sessionary Cache Session1.Close () ؛ // قم بمسح ذاكرة التخزين المؤقت الثانوية ، user1.setuserName ("mmm") ؛ mapper3.updateuser (user1) ؛ Session3.Commit () ؛ // سيبحث الاستعلام الثاني عن المستخدم user2 = mapper2.finduserbyid (1) ؛ System.out.println (user2) ؛ session2.close () ؛لاحظ أن الكائنات التي سيتم تخزينها مؤقتًا في المستوى 2 يجب أن تنفذ الواجهة المسلحة ، لأن هذه البيانات المخبأة قد تكون غير مرغوب فيها وكتابتها على القرص الثابت أو في أي مكان آخر.
ما سبق هو ذاكرة التخزين المؤقت من المستوى 2 MyBatis الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!