如果我们想在本地主机上访问 Linux 服务器上的 redis ,我们就需要通过 ssh 进行端口转发,推荐看 本地主机访问服务器的Redis -- 配置 ssh 端口转发
通过 Java 操作 redis 已经有大佬创建了很多第三方库,这里我们使用 jedis ,因为它所提供的方法和 redis 的命令相同,减少我们的学习成本
引入依赖
首先我们要在 maven 的中心仓库中找到 jedis 的依赖并引入到我们的项目中
网址https://mvnrepository.com/
搜索 jedis ,选择图中这个
随意选择一个版本,这里我选择的是 4.4.2 版本
将库的依赖拷贝到 maven 项目的 pom.xml 配置文件中
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.4.2</version>
</dependency>
自己创建一个 dependency 标签,将依赖复制进去
连接 redis 服务器
流程
• 使⽤ JedisPool 描述 Redis 服务器的位置. 使⽤ url 来表⽰.
• 使⽤ getResource 获取连接对象和服务器建⽴连接
• 连接对象使⽤完毕需要 close 关闭. 也可以直接使⽤ try ⾃动关闭.
• 通过 ping ⽅法可以检测连接是否正确建⽴.
注意:url 为 tcp://127.0.0.1:8888 是因为我们通过 ssh 端口转发将 Linux 服务器上 redis 的 6379 端口映射到了本地主机上的 8888 端口,所以 url 是这样。
当我们部署程序到服务器上时,就要根据服务器上 redis 的实际情况来写 IP 地址和端口了
public static void main(String[] args) {
// redis 连接对象的连接池,协议是 tcp ,IP 是本地的 8888 端口
JedisPool jedisPool=new JedisPool("tcp://127.0.0.1:8888");
//从连接池中获取一个连接对象
//在 try 中获取连接对象,可以在 try 中的代码执行完以后自动释放对象
try(Jedis jedis=jedisPool.getResource()){
//测试连接 redis 是否成功
String pong=jedis.ping();
System.out.println(pong);
}
}
返回了 PONG 就代表连接 redis 成功