Java连接远程redis

1、新建一个maven项目,在pom.xml文件添加jedis依赖

    <dependencies>
        <!--jedis的依赖-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>4.2.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
        </dependency>
    </dependencies>

2、在测试类中,测试Jedis单实例连接

import org.junit.Test;
import redis.clients.jedis.Jedis;
public class TestJedis {
    @Test
    public void testJedis(){
        //设置redis服务器的IP和端口
        Jedis jedis = new Jedis("192.168.126.124",6379);
        //测试是否连接到远程redis,输出pong代表连接成功
        System.out.println(jedis.ping());

        jedis.set("name","chendewen is cool");
        String name = jedis.get("name");
        System.out.println(name);

        //释放资源
        jedis.close();

    }
}

3、运行过程中可能出现的错误
连接超时错误:
在这里插入图片描述
解决方法:开放Linux的对外访问的端口6379或关闭Linux的防火墙

#开发端口
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save
#查看防火墙状态
systemctl status firewalld.service
#关闭防火墙
systemctl stop firewalld.service

连接被拒绝错误: redis服务器默认只允许本机连接,远程连接要修改redis.conf。
在这里插入图片描述
解决方法:vim redis.conf
1)输入/bind 127.0.0.1 回车,将bind 127.0.0.1改为#bind 127.0.0.1(注释掉)
2)找到 protected-mode yes,将yes改为no

4、运行成功
在这里插入图片描述

Jedis连接池

@Test
public void testJedisPool() {
	// 1、创建连接池配置对象
	JedisPoolConfig config = new JedisPoolConfig();
	// 1.1、 最大连接数
	config.setMaxTotal(20);
	// 1.2、最大空闲连接数
	config.setMaxIdle(10);
	
	// 2、连接池对象
	JedisPool pool = null;
	// 3、核心对象
	Jedis jedis = null;
	try {
		// 4、初始化连接池
		pool = new JedisPool(config, "192.168.126.124", 6379);
		// 5、获取连接
		jedis = pool.getResource();
		// 6、设置数据
		jedis.sadd("myset", "a", "b", "c");
		// 7、获取数据
		Set<String> smembers = jedis.smembers("myset");
		for (String m : smembers) {
			System.out.println(m);
		}
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		// 将连接返回给连接池
		if (jedis != null) {
			jedis.close();
		}
		// 销毁连接池,释放资源,一般在程序关闭时调用
		if (pool != null) {
			pool.destroy();
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值