Jedis使用之JedisPool的使用

** JedisPool**
使用场景,java程序连接单个redis时
1.Jedis初始化,配置redis 连接池,获取一个连接

Jediscommands jediscommands;
JedisPool jedisPool;
JedisPoolConfig config = new JedisPoolConfig()
config.setMaxTotal(1024);
config.setMaxIdle(10);
config.setMaxWaitMillis(1000);
config.setTestOnBorrow(true);
config.setTestOnReturn(true);

String ip = "192.168.x.x"
int port = 6379
long timeOut = 2000
JedisPool jedisPool = new JedisPool(config,ip,port,timeOut)

Jedis jedis = jedisPool.getResource();
jediscommands = jedis

2.Jedis 使用

jediscommands.set("testKey","hello");
String testResult = jediscommands.get("testKey");
logger.info("testResult:{}",testResult)

3.Jedis 释放连接,在finnally中释放

Jedis jedis = (jedis)jediscommands
if (jedis != null){
    jedis.release();
}

完整代码:

package com.yj.test.javaBases.testJedis;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCommands;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class TestJedis {
    public static final Logger logger = LoggerFactory.getLogger(TestJedis.class);
    // Jedispool
    JedisCommands jedisCommands;
    JedisPool jedisPool;
    JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
    String ip = "192.168.x.x";
    int port = 6379;
    int timeout = 2000;

    public TestJedis() {
        // 初始化jedis
        // 设置配置
        jedisPoolConfig.setMaxTotal(1024);
        jedisPoolConfig.setMaxIdle(100);
        jedisPoolConfig.setMaxWaitMillis(100);
        jedisPoolConfig.setTestOnBorrow(false);//jedis 第一次启动时,会报错
        jedisPoolConfig.setTestOnReturn(true);
        // 初始化JedisPool
        jedisPool = new JedisPool(jedisPoolConfig, ip, port, timeout);
        //  
        Jedis jedis = jedisPool.getResource();

        jedisCommands = jedis;
    }

    public void setValue(String key, String value) {
        this.jedisCommands.set(key, value);
    }

    public String getValue(String key) {
        return this.jedisCommands.get(key);
    }

    public static void main(String[] args) {
        TestJedis testJedis = new TestJedis();
        testJedis.setValue("testJedisKey", "testJedisValue");
        logger.info("get value from redis:{}",testJedis.getValue("testJedisKey"));
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,970评论 6 342
  • 我在距离2017年5月20日心理咨询师考试一百天的时候来这里写了篇一百天的打算,然后,我就像人间失踪一样消失了五十...
    晓丽姐阅读 550评论 2 0
  • 之前看到网上很多Docker中文安装教程都是老版的了,感觉对入门新手不是很友好,所以萌生了自己写一篇的念头,也当做...
    AfarWind阅读 543评论 1 2
  • 携手日同行 "以茶待客”是中国的普遍习俗。进门上茶有三层意思:一是表明主人对客人的尊重,茶里含有一种敬意。二是表明...
    Q同学会阅读 233评论 0 0