สปริงบทคัดย่ออินเทอร์เฟซ CacheManager สำหรับการใช้งานแคชต่างๆและผู้ใช้ใช้อินเทอร์เฟซนี้เพื่อประมวลผลแคชโดยไม่ต้องสนใจเกี่ยวกับการใช้งานพื้นฐาน นอกจากนี้ยังสามารถเปลี่ยนได้อย่างสะดวกเป็นการใช้งานเฉพาะของแคชโดยไม่ต้องแก้ไขรหัสธุรกิจ นี่คือการแนะนำสั้น ๆ เกี่ยวกับการใช้แคชใน Springboot:
1. เพิ่มการพึ่งพา
<การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Cache </artifactid>
2. เปิดแคชในคลาสการกำหนดค่าดังแสดงในรูปด้านล่าง:
3. เพิ่มคำอธิบายประกอบในวิธีการที่จำเป็นต้องใช้ดังนี้:
@Override // @cacheput คำอธิบายประกอบนี้จะแคชค่าการส่งคืนของวิธีการที่ชื่อแคชคือคนและกุญแจของข้อมูลคือ ID ของบุคคล @cacheput (value = "people", key = "#person.id") บุคคลสำคัญ System.out.println ("สำหรับ ID, คีย์คือ:"+p.getId ()+"ข้อมูลแคช"); กลับ P; - @Override // @cacheeVict คำอธิบายประกอบนี้จะลบข้อมูลด้วยรหัสคีย์ในแคชคน @cacheeVict (value = "people", key = "#id") โมฆะสาธารณะลบ (id ยาว) {system.out.println ("ลบแคชข้อมูลด้วยรหัสและคีย์"+id+""); // การดำเนินการลบจริงไม่ได้ดำเนินการที่นี่} @Override //@cacheable คำอธิบายประกอบนี้จะเป็นตัวกำหนดว่าแคชกับคีย์ #person.id ในแคชที่คนมีอยู่เมื่อมีการดำเนินการหรือไม่ หากมีอยู่มันจะส่งคืนข้อมูลในแคชโดยตรง หากไม่มีอยู่ฐานข้อมูลจะถูกตรวจสอบและผลการส่งคืนจะถูกแคช @Cacheable (value = "people", key = "#person.id") บุคคลสาธารณะ findone (บุคคลบุคคล) {person p = personrepository.findone (person.getId ()); System.out.println ("สำหรับ ID, คีย์คือ:"+p.getId ()+"ข้อมูลแคช"); กลับ P; -ชิ้นส่วนข้างต้นได้เสร็จสิ้นแคช แต่แคชปัจจุบันเป็นหน่วยความจำตามค่าเริ่มต้นและยังไม่ได้รับการยืนยัน ต่อไปนี้คือการใช้งานเฉพาะของ Redis เป็นแคชดังต่อไปนี้:
4. เพิ่มการพึ่งพา
<การพึ่งพา> <roupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Redis </artifactid> </deperency>
5. เพิ่มการกำหนดค่า Redis ในไฟล์การกำหนดค่า
redis.hostname = localhost redis.port = 6379
6. กำหนดค่า Redis ในคอนเทนเนอร์สปริง
@Configuration คลาสสาธารณะ REDISCONFIG ขยาย CACHINGCONFIGURERSUPPORT {Logger Logger สุดท้ายคงสุดท้าย = loggerFactory.getLogger (redisconfig.class); @autowired สภาพแวดล้อมส่วนตัว env; @Bean สาธารณะ jedisconnectionFactory redisconnectionFactory () {jedisconnectionFactory redisconnectionFactory = new JedisconnectionFactory (); redisconnectionFactory.Sethostname (env.getProperty ("redis.hostname")); redisconnectionFactory.setport (integer.parseint (env.getProperty ("redis.port"))); ส่งคืน redisconnectionfactory; } @Bean Public Redistemplate <String, String> redistemplate (redisconnectionFactory cf) {redistemplate <string, string> redistemplate = ใหม่ redistemplate <> (); Redistemplate.SetConnectionFactory (CF); ส่งคืน redistemplate; } @Bean Public CacheManager CacheManager (REDISTEMPLATE <?,?> REDISTEMPLATE) {REDISCACHEMANAGER CACHEMANAGER = ใหม่ REDISCACHEMANAGER (REDISTEMPLATE); CacheManager.SetDefaultExpiration (600); กลับ cachemanager; -โอเคเสร็จแล้วไม่จำเป็นต้องเปลี่ยนแปลงอะไรอีกแล้วมันสะดวกมากเหรอ?
นอกจากนี้ชั้นเรียนที่จะแคชต้องได้รับการจัดลำดับ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น