บทความนี้แนะนำการบูรณาการของ Springboot เกี่ยวกับ Redis, Apachsolr และ Springsession และแบ่งปันกับคุณ รายละเอียดมีดังนี้:
1. บทนำ
นับตั้งแต่เปิดตัว Springboot ได้รับการสนับสนุนจากนักพัฒนาเพื่อการกำหนดค่าที่สะดวก มันให้ผู้เริ่มต้นต่าง ๆ เพื่อทำให้การกำหนดค่าที่น่าเบื่อมากมายง่ายขึ้น การรวม Springboot ของ Druid และ Mybatis เป็นเรื่องธรรมดาดังนั้นฉันจะไม่แนะนำรายละเอียดที่นี่ วันนี้เราจะแนะนำการใช้ Springboot เพื่อรวม Redis, Apachesolr และ Springsession
2. Springboot รวม Redis
Redis เป็นหนึ่งในแคชที่ใช้กันมากที่สุด โดยทั่วไป Redis จะสร้างความพร้อมใช้งานสูง (HA), คลัสเตอร์หรือ Sentinel สำหรับวิธีการก่อสร้างเฉพาะโปรดดูเอกสารอย่างเป็นทางการของ Redis เราได้ยกตัวอย่างจาก Sentinel ที่นี่ มักจะมี 3 โหนดในการสร้าง redissentinel พอร์ตของ Redis โดยทั่วไป 6379 และพอร์ตของ Sentinel โดยทั่วไป 26379
หากเราต้องการใช้ Springboot เพื่อรวม Redis เราต้องเพิ่ม Redis Starter ที่เกี่ยวข้องกับ POM: ก่อน
<การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Data-Redis </artifactid>
หลังจากแนะนำแพ็คเกจ JAR เราสามารถเพิ่มการกำหนดค่า RedissentInel โดยตรงเพื่อให้การรวมในไฟล์ Application.properties เสร็จสมบูรณ์
Spring.redis.sentinel.master = mymasterspring.redis.sentinel.nodes = 192.168.2.233: 26379,192.168.2.234: 26379,192.168.235: 26379 Spring.redis.pool.max-active = 1024Spring.redis.pool.max-idle = 200Spring.redis.pool.min-idle = 100Spring.redis.pool.max-wait = 10,000
Sentinel.Master เป็นชื่อของอาจารย์ ชื่อเริ่มต้น mymaster จะใช้เมื่อเราสร้าง redissentinel
Sentinel.nodes เป็นโหนด Sentinel โปรดทราบว่ามันเป็นโหนด Sentinel ไม่ใช่โหนด Redis ใช้รูปแบบของพอร์ต IP: และหลายโหนดจะคั่นด้วย ","
นี่คือข้อมูลกลุ่มการเชื่อมต่อ:
ในโปรแกรมเราสามารถฉีด Redistemplate โดยตรงเพื่อทำงานบน Redis
@autowiredPrivate Stringredistemplate Stringredistemplate;
ณ จุดนี้ Redis ได้ถูกรวมเข้าด้วยกัน
3. Springboot รวมสปริงซิสต์
Springsession ให้การจัดการเซสชันคลัสเตอร์โดยไม่ต้องผ่านคอนเทนเนอร์ มันสามารถเข้าถึงเลเยอร์หน่วยเก็บข้อมูลที่แตกต่างกันเช่น: ฐานข้อมูล, Redis, MongoDB ฯลฯ สามารถรวมเข้ากับ Springboot ได้อย่างราบรื่น
ก่อนอื่นเราแนะนำ Springsession ในโครงการและเพิ่มการกำหนดค่าต่อไปนี้ใน POM:
<การพึ่งพา> <roupId> org.springframework.session </groupId> <ratifactid> Spring-Session </artifactId> </deperency>
จากนั้นระบุประเภทการจัดเก็บของสปริงส์ในแอปพลิเคชัน properties:
Spring.session.store-type = redis
นี่คือการรวมกันของสปริงส์ที่ง่ายมาก หากมีข้อกำหนดพิเศษสำหรับคุกกี้คุณสามารถสร้างถั่วคุกกี้ใหม่ในโครงการเพื่อแทนที่ถั่วที่สร้างขึ้นโดย Springboot โดยอัตโนมัติ รายละเอียดมีดังนี้:
@bean สาธารณะ defaultCookieserializer cookieserializer () {defaultCookiEserializer คุกกี้ = ใหม่ defaultCookieserializer (); COOKIE.SetCookiename ("SpringBoot_ID"); กลับมาคุกกี้; -ในตัวอย่างข้างต้นเราได้แก้ไขชื่อของคุกกี้ หากคุณต้องการแก้ไขคุณสมบัติอื่น ๆ โปรดตั้งค่าคุณสมบัติที่เกี่ยวข้อง
4. Springboot รวม SOLR
Apachesolr เป็นเครื่องมือค้นหาที่ค่อนข้างธรรมดาและ Springboot ยังสามารถรวมโซลได้อย่างสะดวกสบายสำหรับทุกคนในการพัฒนา สำหรับแนวคิดเฉพาะและการใช้ Apachesolr โปรดปรึกษาเอกสารที่เกี่ยวข้องด้วยตัวเอง เมื่อสร้าง SOLR เรามักจะใช้ Zookeeper เพื่อสร้าง SolrCloud เพื่อปรับปรุงการใช้งานของ SOLR ที่นี่เราจัดระเบียบ SolrCloud
ก่อนอื่นเราแนะนำผู้เริ่มต้นของ Apachesolr:
<การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Data-Solr </artifactid>
ใน Application.properties เพิ่มข้อมูล zookeeper ดังต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
Spring.data.solr.zk-Host = 192.168.2.233: 2181,192.168.2.234: 2181,192.168.2.235: 2181
เมื่อผู้ดูแลสัตว์หลายตัวถูกคั่นด้วย ","
ด้วยวิธีนี้ Springboot รวม Apachesolr ซึ่งสะดวกมาก ต่อไปเราสามารถใช้ข้อมูลสปริงเพื่อเข้าถึง Solr
1. เขียนข้อมูลที่ส่งคืนโดยคลาสเอนทิตีของคุณเองที่สอดคล้องกับ SOLR รหัสเฉพาะมีดังนี้:
@setter@getter@solrdocument (solrcorename = "xy_company") คลาสสาธารณะ solrcompany {@field ("id") รหัสสตริงส่วนตัว; @field ("CompanyName_txt") Private String CompanyName; -@setter@getter คำอธิบายประกอบทั้งสองเป็นเรื่องธรรมดามากขึ้นและใช้เพื่อสร้างวิธีการรับและตั้งค่า
@SolrDocument (solrcorename = "xy_company") ซึ่งระบุว่าเอนทิตีนี้สอดคล้องกับแกนหรือคอลเลกชันใน Solr Core คือชื่อในอินสแตนซ์เดียวและคอลเลกชันเป็นชื่อใน SolrCloud ซึ่งหมายถึงประมาณเดียวกัน
@Field ("ID") ใช้เพื่อระบุฟิลด์ที่เกี่ยวข้องใน SOLR
2. เขียนเลเยอร์จัดเก็บข้อมูลของคุณเองและสืบทอด solrcrudrepository ดังนี้:
Public Interface CompanyRepository ขยาย SolrCrudRepository <SolrCompany, String> {list <OlrCompany> findByCompanyname (String CompanyName);}ด้วยวิธีนี้เลเยอร์ที่เก็บข้อมูลนี้สามารถเข้าถึง SOLR หากเลเยอร์หน่วยเก็บข้อมูลหลายชั้นแบ่งปันหนึ่งเอนทิตีสามารถเขียนชั้นเก็บข้อมูลหลายชั้นเพื่อสืบทอดที่เก็บข้อมูลที่แตกต่างกัน สำหรับรายละเอียดโปรดดูที่ Spring-Data
3. ในธุรกิจของคุณเองใช้ SOLR
รายการสาธารณะ <Olrcompany> getCompanyByName (String CompanyName) {Return CompanyRepository.FindByCompanyname (ชื่อ บริษัท ); -ณ จุดนี้ Springboot รวม Solr มันง่ายมาก
ต่อไปเราจะแนะนำการรวมกรอบหลักบางอย่างเช่น: MongoDB, Kafka ฯลฯ สำหรับรหัสรายละเอียดของเวลานี้โปรดดู GitHub ของฉัน: https://github.com/bigbugliu/spring-boot-demo
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น