Spring Boot : 集成redis(九)

来源:互联网 发布:娶韩国妻子的感受知乎 编辑:程序博客网 时间:2024/05/16 19:42

目录

  • 目录
  • 集成方式
  • 代码
  • 测试

集成方式

我们分别可以通过直接集成jedis包或者集成spring-data-redis的方式,网上大部分都是用的spring,但是我比较习惯直接用jedis包.而且spring-data-redis也是对jedis进行的二次封装.当然也有同学觉得spring-data-redis方便的,有时间我会补充spring-data-redis的springboot集成方法.和jedis很像,其实很多插件的集成都差不多的.

代码

pom.xml

    <dependency>      <groupId>redis.clients</groupId>      <artifactId>jedis</artifactId>      <version>2.8.2</version>    </dependency>

application.yml

jedis :  pool :    host : 192.168.133.243    port : 6379    password: 123456    timeout: 1000    config :      maxTotal: 100      maxIdle: 10      maxWaitMillis : 100000

JedisConfig.java

package cn.milo.controllor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** * Created by admin on 2017/8/25. */@Configurationpublic class JedisConfig {    @Bean(name= "jedis.pool")    @Autowired    public JedisPool jedisPool(@Qualifier("jedis.pool.config") JedisPoolConfig config,                               @Value("${jedis.pool.host}")String host,                               @Value("${jedis.pool.port}")int port,                               @Value("${jedis.pool.timeout}")int timeout,                               @Value("${jedis.pool.password}")String password) {        return new JedisPool(config, host, port , timeout , password);    }    @Bean(name= "jedis.pool.config")    public JedisPoolConfig jedisPoolConfig (@Value("${jedis.pool.config.maxTotal}")int maxTotal,                                            @Value("${jedis.pool.config.maxIdle}")int maxIdle,                                            @Value("${jedis.pool.config.maxWaitMillis}")int maxWaitMillis) {        JedisPoolConfig config = new JedisPoolConfig();        config.setMaxTotal(maxTotal);        config.setMaxIdle(maxIdle);        config.setMaxWaitMillis(maxWaitMillis);        return config;    }}

JedisClient.java

package cn.milo.controllor;/** * Created by admin on 2017/8/25. */import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;@Componentpublic class JedisClient {    @Autowired    private JedisPool jedisPool;    public void set(String key, String value) throws Exception {        Jedis jedis = null;        try {            jedis = jedisPool.getResource();            jedis.set(key, value);        } finally {            //返还到连接池            jedis.close();        }    }    public String get(String key) throws Exception  {        Jedis jedis = null;        try {            jedis = jedisPool.getResource();            return jedis.get(key);        } finally {            //返还到连接池            jedis.close();        }    }}

JedisDemo .java

package cn.milo.controllor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;/** * Created by admin on 2017/8/25. */@Controllerpublic class JedisDemo {    @Autowired    private JedisClient redisClinet;    @RequestMapping("/set")    @ResponseBody    public String set(String key, String value) throws Exception{        redisClinet.set("1", "1");        return "success";    }    @RequestMapping("/get")    @ResponseBody    public String get(String key) throws Exception {        return redisClinet.get("1");    }}

测试

http://ip:port/set
http://ip:port/get