머리말
대형 소프트웨어 시스템에서 일한 학생들은 시스템 데이터가 점점 커지고 복잡해지면 시스템 성능이 악화되는 문제, 특히 빈번한 데이터베이스 작동으로 인한 성능 손실이 더 심각하다는 것을 알고 있습니다. 많은 Bigwig는 많은 솔루션을 제안했으며 빈번한 운영 데이터베이스로 인한 성능 손실을 최적화하기 위해 많은 프레임 워크를 개발했습니다. 그중 두 가지 특히 두드러진 캐시 서버는 Memcached와 Redis입니다. 오늘날 우리는 Memcached와 Redis 자체에 대해 이야기하지 않을 것입니다. 여기서 우리는 주로 Spring과 Redis 통합의 관련 내용을 소개합니다. 아래에서 많이 말하지 않겠습니다. 자세한 소개를 함께 살펴 보겠습니다.
이 방법은 다음과 같습니다
첫 번째 단계는 Redis의 POM 코드를 프로젝트에 추가하는 것입니다.
<pectionency> <groupid> redis.clients </groupid> <artifactid> jedis </artifactid> <bersion> 2.6.0 </version> </fectionency>
두 번째 단계는 Spring : ApplicationContext-Redis.xml에서 Redis 구성 파일을로드하는 것입니다. 내용은 다음과 같습니다.
<bean id = "poolconfig"> <property name = "maxtotal"value = "$ {redis.maxtotal}" /> < /bean> <bean> <constructor-arg index = "0"ref = "poolconfig" /> <constructor-arg index = "1"> <list> <bean> <bean> valuctor-arg index = "value ="$ {redis1. /> <생성자-arg index = "1"value = "$ {redis.node1.port}"/> </bean> </list> </constructor-arg> </bean> </beans>세 번째 단계는 Redis 서버에 연결하는 속성 파일을 작성하는 것입니다 : redis.properties
redis.maxtotal = 100redis.node1.host = 127.0.0.1redis.node1.port = 6379
4 단계 : 관련 작업 메소드 클래스, 기능 클래스 및 Redisservice 클래스를 작성하십시오.
Funcrion 클래스 :
패키지 xx.service;/** * 동일한 작업 코드를 추출하기 위해 * @Author Yeying * <p> 설명 : </p> * <p> 회사 : </p> * @date : 2017 년 12 월 5 일 오후 9시 44 분 */공개 인터페이스 함수 <t, e> {public t 콜백 (e e);}레디스 서비스 클래스 :
PACKED COM.TAOTAO.COMMON.SERVICE; import org.springframework.beans.beans.annotation.autowired; import org.spramepramework.service; import redis.clients.jedis.shardedjedis; import redis.clients.jedis.shardedjedispool;/** redis* reperation of resourtation of redisis of rediss ** redise *<p> 설명 : </p> *<p> 회사 : </p> *@Date : 2017 년 12 월 3 일 오후 2시 11 분 47 초 */ @ServicePublic 클래스 RedissErvice {@autowired (필수 = 거짓) // 개인 ShardedSpool Shardedjedispool을 주입해야합니다. 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) {// 닫기, 연결이 유효한지 감지하고 연결 풀에 다시 넣고 무효 인 경우 상태를 재설정하고 shardedjedis.close (); }} return null; } / ** * 설정 조작을 실행 * @param key * @param value * @return * / public string set (최종 문자열 키, 최종 문자열 값) {return this.execute (new function <string, shardedjedis> () {@override public string callback (shardedjedis e) {return E. value (key, value);}); } / ** * 세트 작업을 수행하고 생존 시간을 몇 초로 설정하십시오 * @param key * @param value * @param seconds * @return * / public string set (최종 문자열 키, 최종 문자열 값, 최종 정수 초) {return this.execute (새 함수 <string, shardedjedis> () {@override public callback e) {stride (shard str). e.expire (키, 초); } / ** * 작동을 수행하기 * @param key * @return * / public string get (final string key) {return this.execute (new function <string, shardedjedis> (@override public string e) {return e.get (key);}); } / ** * 설정 수행 설정 * @param key * @return * / public long del (final string key) {return this.execute (new function <long, shardedjedis> () {@override public long callback (shardedjedis e) {return e.del (key);}}); } / ** * 생존 시간을 초로 설정 * @param key * @param seconds * @return * / public long expire (최종 문자열 키, 최종 정수 초) {return this.execute (new function <long, shardedjedis> () {@override public long callback (shardedjedis e) {reture e.expire (key, seconds)); }}); }}5 단계 : Redis Service, redis-server.exe를 시작하고 두 번 클릭하려면 다음과 같습니다.
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.