Redis-06-Jedis连接Redis

提前预知

目前Jedis客户端连接Redis,公司里面使用的已经不多了,因为SpringBoot框架默认集成连接Redis的客户端是Lettuce,所以此处的笔记仅做了测试连通部分。

01,Jedis_测试联通

1.1,测试联通

第一步:在IDEA中创建一个Maven工程

第二步:导入坐标

<dependency>
	<groupId>redis.clients</groupId>
	<artifactId>jedis</artifactId>
	<version>2.1.0</version>
</dependency>

第三步:启动redis服务器

第四步:创建测试类

  • TestPing.java
public class TestPing {
	public static void main(String[] args) 
	{
		Jedis jedis = new Jedis("127.0.0.1",6379);
		//输出PONG,redis连通成功
		System.out.println(jedis.ping());
	}
}

报错的解决办法(Linux环境):

第一步:在DOS下执行这个命令看看端口能否连接上:telnet ip port
其中ip为主机的ip,端口为Redis的服务端口:telnet 127.0.0.1 6379
如果连接不上,说明可能被拦截了

第二步:在主机中使用这个命令查看开放的端口号: firewall-cmd --list-ports

第三步:如果端口号没开,使用这个命令开放端口号:firewall-cmd --zone=public --add-port=6379/tcp --permanent

第四步:重启防火墙:systemctl restart firewalld.service

第五步:去配置文件里把bind注释掉

第六步:再次连接应该可以成功


注意:bind 后加的是允许访问的ip 
bind 127.0.0.1代表只有本机可以访问,可以将允许访问的ip加入,
也可以直接注释掉这一行,这样所有机器都可以访问

1.2, windows下测试端口开放的方法

可以使用此方法查看虚拟机中的端口是否开放

  • 使用命令:telnet
telnet ip port

cmd下使用此命令如果报错:'telnet' 不是内部或外部命令,也不是可
运行的程序或批处理文件

使用如下方法开启即可:
控制面板 -> 程序 -> 启用或关闭 Windows功能 -> Telnet客户端

1.3, linux下测试端口开放的方法

使用此方法可以查看虚拟机的开放端口

  • 命令:netstat
-a :所有

-t : 指明显示TCP端口

-u : 指明显示UDP端口

-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

-n : 不进行DNS轮询,显示IP(可以加速操作)
  • 具体使用
netstat -ntulp |grep 80   //查看所有80端口使用情况

netstat -an | grep 3306   //查看所有3306端口使用情况

netstat -ntulp |grep redis   //查看所有redis端口使用情况

1.4,Linux有关(了解)

centos7及以上版本使用:

  • 查看所有开放的端口:
 firewall-cmd --list-ports
  • 查看某一端口是否开放,如 6379端口:
firewall-cmd --query-port=6379/tcp

开放返回 yes,否则为 no。
  • 永久开放 一个端口端口加上:
firewall-cmd --zone=public --add-port=6379/tcp --permanent

开放成功返回 success

--zone :表示作用域

--add-port=8080/tcp :表示添加端口,格式为:端口/通信协议

--permanent :示永久生效,如果没有此参数则系统重启后失效

注意,开放端口后应重启防火墙,使端口开放生效
  • 重启防火墙:
 firewall-cmd --reload
  • 移除开放的 6379端口:
 firewall-cmd --permanent --zone=public --remove-port=8080/tcp

注意:移除开放端口后也应重启防火墙
  • 查看防火墙状态:
systemctl status firewalld.service
  • 启动 | 关闭 | 重启 防火墙 :
systemctl start firewalld.service

systemctl stop firewalld.service

systemctl restart firewalld.service

02,Jedis_常用API

public class TestAPI {
	public static void main(String[] args) {
		//连接Redis服务器
		Jedis jedis = new Jedis("127.0.0.1",6379);
		//使用set方法向服务器中存储值
		jedis.set("k1","v1");
		jedis.set("k2","v2");
		jedis.set("k3","v3");
		//获取存入的键为k3的值
		System.out.println(jedis.get("k3"));
		//获取所有的key
		Set<String> sets = jedis.keys("*");
		//打印集合的长度
		System.out.println(sets.size());
	}
}

03,Jedis_事务

04,Jedis_主从复制

05,Jedis_JedisPool

06,配置总结

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彤彤的小跟班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值