您的位置:首页 > 数据库 > Redis

java连接redis

2017-06-10 02:48 239 查看
package bean;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.Pipeline;
import java.util.List;
/**
* Created by Administrator on 2017/5/8 0008.
*/
public class RedisPool {
//连接池配置
static GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
//初始化redis连接池,默认8个最大连接数
static JedisPool jedisPool=null;
static {
//设置最大连接数为默认的5倍
//poolConfig.setMaxTotal(GenericObjectPoolConfig.DEFAULT_MAX_TOTAL*5);
//设置最大空闲连接数为默认的3倍
poolConfig.setMaxIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE*3);
//设置最小空闲连接数为默认的2倍
poolConfig.setMinIdle(GenericObjectPoolConfig.DEFAULT_MIN_IDLE*2);
//设置开启jmx功能
poolConfig.setJmxEnabled(true);
//设置连接池没有连接后客户端的最大等待时间,毫秒
poolConfig.setMaxWaitMillis(5000);
jedisPool=new JedisPool(poolConfig,"127.0.0.1",6379);
}
public static Jedis getRedisFormPool() {
//        Jedis jedis=new Jedis("127.0.0.1",6387);//生成Jedis对象
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
if (jedis != null) {
jedis.close();
}
}
return jedis;
}
/**
*  利用管道流删除,节省请求时间,非原子性
* @param jedis
* @param keys
*/
public static void mdel(Jedis jedis,List<String> keys){
Pipeline pipeline = jedis.pipelined();
for(String key:keys){
pipeline.del(key);
}
//执行命令
pipeline.sync();
//可返回执行结果
//        pipeline.syncAndReturnAll();
}
public static void main(String[] args) {
System.out.println(getRedisFormPool().lrange("a",0,-1));
for(int i=0;i<9;i++){
//不执行redis.close(),可观察
System.out.println("ping..."+i);
getRedisFormPool().ping();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: