用Java操作Redis

使用连接池连接

与SpringBoot结合使用

添加依赖

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

配置连接池
在application.properties文件中

redis.maxTotal=10  //表示最大连接数
redis.minIdle=1  //表示空闲连接数
redis.host=localhost  //连接地址

配置连接

@SpringBootApplication
public class DemoApplication {

//依赖注入,连接池配置属性
    @Value("${redis.maxTotal}")
    private int maxTotal;
    @Value("${redis.minIdle}")
    private int minIdle;
    @Value("${redis.host}")
    private String host;

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    //创建连接池
    @Bean
    public JedisPool pool(){
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxTotal);
        config.setMinIdle(minIdle);

        JedisPool pool = new JedisPool(config, host);
        return pool;
    }

}

将配置封装成对象,注入直接调用

@Component
//只读取配置文件中以redis开头的属性
@ConfigurationProperties(prefix = "redis")
public class RedisConfig {
    private int maxTotal;
    private int minIdle;
    private String host;

    public int getMaxTotal() {
        return maxTotal;
    }

    public void setMaxTotal(int maxTotal) {
        this.maxTotal = maxTotal;
    }

    public int getMinIdle() {
        return minIdle;
    }

    public void setMinIdle(int minIdle) {
        this.minIdle = minIdle;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }
}
@SpringBootApplication
public class DemoApplication {


    @Autowired
    private RedisConfig redisConfig;

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    //创建连接池
    @Bean
    public JedisPool pool(){
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(redisConfig.getMaxTotal());
        config.setMinIdle(redisConfig.getMinIdle());

        JedisPool pool = new JedisPool(config, redisConfig.getHost());
        return pool;
    }

}

使用连接池

@Controller
public class RedisController {

    @Autowired
    private JedisPool pool;
    @Autowired
    private User user;


    @RequestMapping("/user")
    @ResponseBody
    public String user(String key,String value){

        try (Jedis resource = pool.getResource()){
            resource.set(key,value);
        }
        return "OK";
    }

    @RequestMapping("/json")
    @ResponseBody
    public String json() throws JsonProcessingException {
        User user = new User();
        user.setName("zhangsan111");
        user.setAge(18);
        user.setSex("男");
        ObjectMapper om = new ObjectMapper();
        String json = om.writeValueAsString(user);
        try (Jedis resource = pool.getResource()){
            resource.set("zs",json);
        }
        return "YES";
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值