รู้เบื้องต้นเกี่ยวกับ Redis
REDIS (เว็บไซต์อย่างเป็นทางการ: https://redis.io) เป็นฐานข้อมูลแคชแบบถาวรที่อิงตามหน่วยความจำซึ่งบันทึกไว้ในรูปแบบคีย์-ค่า Redis นั้นฟรีและโอเพ่นซอร์สอย่างสมบูรณ์ มันเขียนด้วยภาษา Ansi C เช่นเดียวกับผลิตภัณฑ์แคชคีย์-ค่าอื่น ๆ Redis มีคุณสมบัติสามประการต่อไปนี้
• Redis รองรับการคงอยู่ของข้อมูลซึ่งสามารถบันทึกข้อมูลในหน่วยความจำบนดิสก์และสามารถโหลดได้อีกครั้งเพื่อใช้ในระหว่างการรีสตาร์ท
• REDIS ไม่เพียง แต่รองรับข้อมูลประเภทคีย์ค่าคีย์อย่างง่ายเท่านั้น แต่ยังให้การจัดเก็บโครงสร้างข้อมูลเช่นสตริงรายการที่เชื่อมโยงคอลเลกชันคอลเลกชันที่สั่งซื้อและแฮช
• Redis รองรับการสำรองข้อมูลข้อมูลนั่นคือการสำรองข้อมูลในโหมด Master-Slave
ในระบบ Mac คุณไม่จำเป็นต้องดาวน์โหลด Redis เพื่อใช้งาน นี่คือคำสั่งที่เกี่ยวข้องในการดาวน์โหลดแพ็คเกจบีบอัดของ Redis จากเซิร์ฟเวอร์โฮสติ้งของ Redis และคลายซิป
wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xzf redis-4.0.8.tar.gzcd redis-4.0.8make
ก่อนที่จะใช้บริการที่ Redis จัดหาให้คุณต้องเริ่มบริการที่เกี่ยวข้องกับ Redis ก่อน คำสั่งที่จะเริ่ม REDIS บนระบบ MAC มีดังนี้
src/redis-server
จากนั้นเปิดไคลเอนต์ Redis อีกครั้งและใช้คำสั่งต่อไปนี้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Redis
SRC/REDIS-CLIARTIS> SET FOO BAROKREDIS> รับ FOO "BAR"
รวมฐานข้อมูล Redis
ก่อนที่จะใช้ Redis คุณต้องแนะนำการพึ่งพาที่เกี่ยวข้อง สคริปต์ที่ขึ้นอยู่กับวิธี Maven มีดังนี้:
<การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Data-Redis </artifactid>
หลังจากนั้นเราเขียนการกำหนดค่าที่เกี่ยวข้องของ REDIS ถึง YML ที่นี่เราแนะนำให้เขียนการกำหนดค่าที่แตกต่างกันตามสภาพแวดล้อมที่แตกต่างกันมาก่อน พอร์ตเริ่มต้นที่ใช้โดย Redis คือ 6379 โดยปกติแล้ว Redis ใช้ฐานข้อมูลหมายเลข 0 โดยค่าเริ่มต้นและมีฐานข้อมูล 16 ฐานโดยค่าเริ่มต้น:
#REDIS การกำหนดค่า REDIS:# ฐานข้อมูลดัชนีฐานข้อมูล: 0# ที่อยู่เซิร์ฟเวอร์โฮสต์: 127.0.0.1# พอร์ตการเชื่อมต่อเซิร์ฟเวอร์: 6379# ลิงค์รหัสผ่านรหัสผ่าน:# ลิงค์พูลพูล:# จำนวนสูงสุดของการเชื่อมต่อ เวลาหมดเวลา (มิลลิวินาที) หมดเวลา: 0
หากเป็นแอปพลิเคชันวิธีการการกำหนดค่าบางอย่างมีดังนี้:
Spring.redis.hostname = 127.0.0.1spring.redis.port = 6379 Spring.redis.pool.maxactive = 8 Spring.redis.pool.maxwait = -1 Spring.redis.pool.maxidle = 8 Spring.redis.pool.minidle = 0 Spring.time.
สร้างไฟล์ redisconfig.java ใหม่เพื่อจัดเก็บไฟล์การกำหนดค่า
@Configuration @enableCaching // เปิดคลาสสาธารณะชั้นเรียน redisconfig ขยาย CachingConfigurersupport {@bean Public Cachemanager Cachemanager (Redistemplate <?,?> redistemplate) {cachemanager cachemanager = ใหม่ กลับ cachemanager; } @Bean Public Redistemplate <String, String> Redistemplate (RedisconnectionFactory Factory) {redistemplate <string, string> redistemplate = ใหม่ redistemplate <สตริง, สตริง> (); Redistemplate.SetConnectionFactory (โรงงาน); ส่งคืน redistemplate; -สร้างคลาส redisservice.java ในแพ็คเกจบริการ
อินเตอร์เฟสสาธารณะ redisservice {ชุดโมฆะสาธารณะ (คีย์สตริงค่าวัตถุ); วัตถุสาธารณะรับ (คีย์สตริง); -สร้างคลาสการใช้งานบริการใหม่ REDISSERVICICEIMPL.JAVA
@ServicePublic คลาส REDISSERVICICEIMPL ใช้ REDISSERVICE {@Resource REDISTEMPLATE ส่วนตัว <String, Object> Redistemplate; ชุดโมฆะสาธารณะ (คีย์สตริง, ค่าวัตถุ) {valueOperations <string, object> vo = redistemplate.opSforValue (); vo.set (คีย์, ค่า); } วัตถุสาธารณะรับ (คีย์สตริง) {valueOperations <string, object> vo = redistemplate.opSforValue (); ส่งคืน vo.get (กุญแจ); -สร้างรหัสเลเยอร์คอนโทรลเลอร์ใหม่ usercontroller.java
@controller @requestmapping (path = "/user") คลาสสาธารณะ userController {@AutoWired Userservice Userservice; @autowired REDISSERVICE ส่วนตัว REDISSERVICE; // รับผู้ใช้จาก redis@requestmapping (value = "/getUserFromredis", method = requestMethod.get) สาธารณะ @ResponseBody ผู้ใช้ GetRedis (@RequestParam คีย์สตริง) {return (user) redisservice.get (คีย์); } // รับผู้ใช้ทั้งหมด @RequestMapping (value = "/getUsers", method = requestMethod.get) public @ResponseBody หน้า <ผู้ใช้> รายการ (รุ่นรุ่น } // เพิ่มผู้ใช้ @getMapping (value = "/adduser") สาธารณะ @ResponseBody สตริง adduser (@requestparam สตริง dictum, @requestparam รหัสผ่านสตริง, @requestparam ชื่อผู้ใช้ชื่อ) {ผู้ใช้ = ผู้ใช้ใหม่ (); user.setDictum (dictum); user.setPassword (รหัสผ่าน); user.setUserName (ชื่อผู้ใช้); System.out.println (ผู้ใช้); userservice.saveuser (ผู้ใช้); redisservice.set (user.getId ()+"", ผู้ใช้); กลับ "บันทึก"; -รหัสของผู้ใช้ระดับเอนทิตี Java ที่ออกแบบในบทความนี้มีดังนี้: การจัดเก็บวัตถุใน Redis ต้องมีการทำให้เป็นอนุกรม
@entity@table (name = "s_user") ผู้ใช้ระดับสาธารณะใช้การใช้งาน serializable {ส่วนตัวคงที่สุดท้าย Long SerialVersionUid = 1l; @id @GeneratedValue (กลยุทธ์ = GenerationType.Auto) ID จำนวนเต็มส่วนตัว; ชื่อผู้ใช้สตริงส่วนตัว; รหัสผ่านสตริงส่วนตัว สตริงส่วนตัว dictum; @Onetomany (mappedby = "ผู้ใช้", fetch = fetchType. lazy, cascade = {cascadeType. ทั้งหมด}) ชุดส่วนตัว <Photo> setphoto; // ละเว้น getter และ setter @Override สตริงสาธารณะ toString () {return "user [id =" + id + ", ชื่อผู้ใช้ =" + ชื่อผู้ใช้ + ", รหัสผ่าน =" + รหัสผ่าน + ", dictum =" + dictum + ", setphoto =" + setphoto + "]"; -สรุป
ด้านบนเป็นวิธีการของ Springboot ที่รวมฐานข้อมูล Redis ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!