java连接redis

来源:互联网 发布:安广网络电视 编辑:程序博客网 时间:2024/06/15 08:34

java链接redis需要使用jedis包,实例使用的是jedis-2.8.1.jar    下载地址:http://pan.baidu.com/s/1jHLN9u2

一、创建连接池

private JedisPool pool = null;public void init(){// 池基本配置         JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(8);//最大连接数        config.setMaxIdle(50); //最大空闲连接数        config.setMinIdle(5); //最小空闲连接数        config.setMaxWaitMillis(1000l); //获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间,  默认-1        config.setTestOnBorrow(false); //在获取连接的时候检查有效性, 默认falseconfig.setTestWhileIdle(false);//在空闲时检查有效性, 默认false        pool = new JedisPool(config,"192.168.1.101",6379);}

二、从连接池中获取链接查询,查询完毕记得关闭连接

public void getKey() {Jedis jedis = null;try{String name = jedis.get("name");} catch (Exception e) {e.printStackTrace();jedis.close();}}
出现问题描述: 
1.Could not get a resource from the pool, Connection refused: connect

这里写图片描述

windows Java这边客户端链接被拒接了,想想问题

1.Vmware里面的Linux所安装的Redis已经正常启动 
2.在windows用ssh客户端链接linux可以操作redis 
3.linux防火墙已经关闭 
4.拼linux的ip也能拼通

按理说应该没问题,下利用telnet测试下端口

telnet 192.168.0.104 6379

发现端口不能拼通,但是linu下其他的端口能拼通,说明就是redis自身配置的问题了

看了下配置文件,发现配置文件绑定了本地ip,该配置会导致,其他ip登录被拒绝,所以我们把它注释掉


并设置  protected-mode no  //关闭保护模式

原创粉丝点击