مقدمة
يعلم الطلاب الذين عملوا في أنظمة البرمجيات الكبيرة أنه عندما تصبح بيانات النظام أكبر وأكثر تعقيدًا ، فإن المشكلة التي تأتي مع أداء النظام الأسوأ ، وخاصة فقدان الأداء الناجم عن تشغيل قاعدة البيانات بشكل متكرر. اقترحت العديد من BigWigs العديد من الحلول وطورت العديد من الأطر لتحسين خسائر الأداء الناجمة عن قواعد بيانات التشغيل المتكررة. من بينهما ، خادمان ذاكرة التخزين المؤقت البارزان بشكل خاص مُعزّب و redis. اليوم ، لن نتحدث عن Memcached و Redis نفسها. سنقدم هنا بشكل أساسي المحتوى ذي الصلة لتكامل الربيع وإعادة Redis. لن أقول الكثير أدناه ، دعنا نلقي نظرة على المقدمة التفصيلية معًا.
الطريقة كما يلي
الخطوة الأولى هي إضافة رمز POM من Redis إلى المشروع:
<Rependency> <roupiD> redis.clients </groupId> <StifactId> jedis </stifactid> <الإصدار> 2.6.0 </version> </preminent>
الخطوة الثانية هي تحميل ملف تكوين redis في الربيع: ApplicationContext-Redis.xml ، المحتوى كما يلي
<bean id = "poolconfig"> <property name = "maxtOtal" value = "$ {redis.maxtotal}" /> </bean> <bean> <constructor-arg index = "0" ref = "poolconfig" /> <constructor-arg index = "1"> <list> <bantructor-arg = "0" /> <constructor-arg index = "1" value = "$ {redis.node1.port}"/> </bean> </list> </songnructor-arg> </bean> </bans>الخطوة الثالثة هي كتابة ملف الخصائص المتصل بخادم Redis: redis.properties
redis.maxtotal = 100redis.node1.host = 127.0.0.1redis.node1.port = 6379
الخطوة 4: اكتب فئة طريقة التشغيل ذات الصلة ، فئة الوظائف و Class Redisservice من Redis:
فئة funcrion:
الحزمة xx.service ؛/** * من أجل استخراج نفس رمز التشغيل * Author yeying * <p> الوصف: </p> * <p> الشركة: </p> * date: 5 ديسمبر 2017 في 9:02:44 PM */وظيفة الواجهة العامة <T ، E> {public t callback (e e) ؛}فئة Redisservice:
package com.taotao.common.service ؛ استيراد org.springframework.beans.factory.annotation. yeying *<p> الوصف: </p> *<p> الشركة: </p> *date: 3 ديسمبر ، 2017 في 2:11:47 PM */ @servicepublic class Redisservice {autowired (مطلوب = false) // بحاجة إلى حقن shardedjedispool shardedjedisprool ؛ private <t> t execute (function <t ، shardedjedis> fun) {ShardedJedis ShardedJedis = null ؛ جرب {// احصل على كائن Jedis sharded من مجموعة الاتصال shardedjedis = shardedjedispool.getResource () ؛ // احصل على البيانات من Redis Return Fun.Callback (ShardedJedis) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } أخيرًا {if (null! = shardedjedis) {// close ، اكتشف ما إذا كان الاتصال صالحًا ، ووضعه مرة أخرى في تجمع الاتصال ، وإعادة ضبط الحالة إذا كان غير صالح ، shardedjedis.close () ؛ }} الإرجاع null ؛ } / ** * قم بتنفيذ عملية SET * مفتاح param * param value * @مجموعة السلسلة العامة (مفتاح السلسلة النهائية ، قيمة السلسلة النهائية) {إرجاع this.execute (وظيفة جديدة <string ، shardedjedis> () } / ** * قم بإجراء عملية مجموعة وقم بتعيين وقت البقاء على قيد الحياة في ثواني * مفتاح param * param value * param seconds * @return set (مفتاح السلسلة النهائية ، قيمة السلسلة النهائية ، integer seconds) E.Expire (مفتاح ، ثواني) ؛ } / ** * perfort get get عملية * @param مفتاح * @RETURN * / public string get (مفتاح السلسلة النهائية) {return this.execute (وظيفة جديدة <string ، shardedjedis> () {Override Public String Callback (shardedjedis e) {return e.get (key) ؛}}) ؛ } / ** * قم بإجراء عملية تعيين * @param مفتاح * @REGRUNT * / Public Long del (مفتاح السلسلة النهائية) {return this.execute (وظيفة جديدة <long ، shardedjedis> () {Override Public Long Callback (shardedjedis e) {return e.del (key) ؛}}) ؛ } / ** * قم بتعيين وقت البقاء على قيد الحياة في ثواني * مفتاح param * param Seconds * @REGARN * / Public Long Expire (مفتاح السلسلة النهائية ، ثواني الصدفة النهائية) {return this.execute (وظيفة جديدة <long ، shardedjedis> () {Override public callback (shardedjedis e) }}) ؛ }}الخطوة 5: ابدأ خدمة Redis ، Redis-server.exe ، وانقر نقرًا مزدوجًا لفتح:
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.