Spring boot整合redis小例子

pom.xml

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    
  3.     <modelVersion>4.0.0</modelVersion>    
  4.     <groupId>自己命名</groupId>    
  5.     <artifactId>自己命名</artifactId>    
  6.     <version>0.0.1-SNAPSHOT</version>    
  7.     
  8.     <properties>    
  9.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    
  10.         <boot.version>1.3.5.RELEASE</boot.version>    
  11.     </properties>    
  12.     <dependencies>    
  13.         <dependency>    
  14.             <groupId>org.springframework.boot</groupId>    
  15.             <artifactId>spring-boot-starter-web</artifactId>    
  16.             <version>${boot.version}</version>    
  17.         </dependency>    
  18.         <dependency>    
  19.             <groupId>org.springframework.boot</groupId>    
  20.             <artifactId>spring-boot-starter-test</artifactId>    
  21.             <version>${boot.version}</version>    
  22.             <scope>test</scope>    
  23.         </dependency>    
  24.         <dependency>    
  25.             <groupId>redis.clients</groupId>    
  26.             <artifactId>jedis</artifactId>    
  27.             <version>2.8.2</version>    
  28.         </dependency>    
  29.     </dependencies>    
  30. </project>   

application.yml

[html]  view plain  copy
  1. jedis :    
  2.   pool :    
  3.     host : 127.0.0.1    
  4.     port : 6379    
  5.     password : 自己的密码  
  6.     timeout : 60000  
  7.     config :   
  8.       maxTotal: 100    
  9.       maxIdle: 10    
  10.       maxWaitMillis : 100000    
  11.     
  12. server :    
  13.   port : 8082    

app.Java

[java]  view plain  copy
  1. package com.example;  
  2. import org.springframework.beans.factory.annotation.Autowired;  
  3. import org.springframework.boot.SpringApplication;  
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;  
  5. import org.springframework.web.bind.annotation.RequestMapping;  
  6. import org.springframework.web.bind.annotation.RestController;  
  7.   
  8. import com.example.first.domain.RedisClient;    
  9.     
  10. /**  
  11.  * 是Spring Boot项目的核心注解,主要是开启自动配置  
  12.  */    
  13. @SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan    
  14. @RestController    
  15. public class App {    
  16.         
  17.     @Autowired    
  18.     private RedisClient redisClinet;    
  19.         
  20.     public static void main(String[] args) {    
  21.         SpringApplication.run(App.class, args);    
  22.     }    
  23.         
  24.     @RequestMapping("/set")    
  25.     public String set(String key, String value) throws Exception{    
  26.         redisClinet.set(key, value);    
  27.         return "success";    
  28.     }    
  29.         
  30.     @RequestMapping("/get")    
  31.     public String get(String key) throws Exception {    
  32.         return redisClinet.get(key);    
  33.     }    
  34.         
  35. }    

redisClient.java

[java]  view plain  copy
  1. package com.example.first.domain;  
  2.   
  3. import org.springframework.beans.factory.annotation.Autowired;  
  4. import org.springframework.stereotype.Component;  
  5.   
  6. import redis.clients.jedis.Jedis;  
  7. import redis.clients.jedis.JedisPool;  
  8.   
  9.   
  10. @Component  
  11. public class RedisClient {  
  12.   
  13.     @Autowired  
  14.     private JedisPool jedisPool;  
  15.   
  16.     public void set(String key, String value) throws Exception {  
  17.         Jedis jedis = null;  
  18.         try {  
  19.             jedis = jedisPool.getResource();  
  20.             jedis.set(key, value);  
  21.         } finally {  
  22.             // 返还到连接池  
  23.             jedis.close();  
  24.         }  
  25.     }  
  26.   
  27.     public String get(String key) throws Exception {  
  28.   
  29.         Jedis jedis = null;  
  30.         try {  
  31.             jedis = jedisPool.getResource();  
  32.             return jedis.get(key);  
  33.         } finally {  
  34.             // 返还到连接池  
  35.             jedis.close();  
  36.         }  
  37.     }  
  38.   
  39. }  


redisConfiguration.java

[java]  view plain  copy
  1. package com.example.first.domain;  
  2. import org.springframework.beans.factory.annotation.Autowired;    
  3. import org.springframework.beans.factory.annotation.Qualifier;    
  4. import org.springframework.beans.factory.annotation.Value;    
  5. import org.springframework.context.annotation.Bean;    
  6. import org.springframework.context.annotation.Configuration;    
  7.     
  8. import redis.clients.jedis.JedisPool;    
  9. import redis.clients.jedis.JedisPoolConfig;    
  10.     
  11. @Configuration    
  12. public class RedisConfiguration {    
  13.         
  14.     @Bean(name= "jedis.pool")  //加载的applicant.yml中的参数  
  15.     @Autowired    
  16.     public JedisPool jedisPool(@Qualifier("jedis.pool.config") JedisPoolConfig config,     
  17.                 @Value("${jedis.pool.host}")String host,     
  18.                 @Value("${jedis.pool.port}")int port,  
  19.                 @Value("${jedis.pool.timeout}"int timeout,  
  20.                 @Value("${jedis.pool.password}") String password) {    
  21.         return new JedisPool(config, host, port,timeout,password);    
  22.     }    
  23.         
  24.     @Bean(name= "jedis.pool.config")    
  25.     public JedisPoolConfig jedisPoolConfig (@Value("${jedis.pool.config.maxTotal}")int maxTotal,    
  26.                                 @Value("${jedis.pool.config.maxIdle}")int maxIdle,    
  27.                                 @Value("${jedis.pool.config.maxWaitMillis}")int maxWaitMillis) {    
  28.         JedisPoolConfig config = new JedisPoolConfig();    
  29.         config.setMaxTotal(maxTotal);    
  30.         config.setMaxIdle(maxIdle);    
  31.         config.setMaxWaitMillis(maxWaitMillis);    
  32.         return config;    
  33.     }    
  34.         
  35. }    

猜你喜欢

转载自blog.csdn.net/qq_22498277/article/details/72627359