pom.xml
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.2</version> </dependency>
java代码:
package jedismaven; import org.junit.Test; import redis.clients.jedis.Jedis; public class JedisDemo1 { @Test public void test(){ Jedis jedis=new Jedis("192.168.123.128",6379);
//Jedis jedis=new Jedis("127.0.0.1",6379);
jedis.set("name", "思思博士");
String value= jedis.get("name");
System.out.println(value);
jedis.close(); } }
测试结果连接超时
这里是因为CentOS 默认6379端口是没有打开的,需要修改防火墙。
# cd /etc/sysconfig
# ls 查看是否有iptables文件,如果没有执行下面命令
# yum install -y iptables-services
# vim iptables
添加一行
退出编辑
# service iptables restart
重新执行java文件
使用连接池访问redis
/** * 连接池方式连接 */ @Test public void demo2(){ //获得连接池的配置对象 JedisPoolConfig config=new JedisPoolConfig(); //最大连接数 config.setMaxTotal(30); //最大空闲连接数 config.setMaxIdle(10); //获得连接池 JedisPool jedisPool=new JedisPool(config, "192.168.123.128", 6379); //获得核心对象 Jedis jedis=null; try { //通过连接池获得对象 jedis=jedisPool.getResource(); //设置数据 jedis.set("name", "思思博士1"); //获得数据 String value=jedis.get("name"); System.out.println(value); } catch (Exception e) { e.printStackTrace(); }finally{ if(jedis!=null){ jedis.close(); } if(jedisPool!=null){ jedisPool.close(); } } }