在我们之前的内容中,我们会发现通过命令行操作redis是十分不科学的,所以redis官方提供了redis的应用层协议RESP,更具这个协议可以实现一个和redis服务器通信的客户端程序,来简化和完善redis的使用。现阶段有很多封装了RESP协议的库可以使用,接下来我们使用jedis来演示。
1. 配置ssh端口转发
由于我们的redis在云服务器上,想要从本地主机访问云服务器上的redis需要先打开云服务器上的6379端口号,但是打开这个端口号是一个非常危险的操作,会十分容易受到黑客的攻击。如果想在不开发端口号的情况能够访问redis,有两个方案:
- 把写好的Java程序打成jar包,转移到Linux上运行。这样redis和Java程序在一台主机上Java程序就能访问到redis,但缺点是在开发阶段想要测试就需要打jar到linux上测试
- 配置ssh端口转发,把云服务器上的6379端口映射到本地的某个端口例如7379,当访问本地7379端口时,会通过本地的22端口(ssh)发送给云服务器, 云服务器上的ssh程序解析后再转发给6379端口
点击我们云服务器连接的属性,点击ssh下的隧道,点击添加即可添加端口映射。
2. 使用Java程序连接redis
创建一个maven项目,引入jedis依赖:
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>5.2.0</version></dependency>
编写代码连接redis:
public class RedisDome {public static void main(String[] args) {//连接Redis服务器JedisPool pool = new JedisPool("tcp://127.0.0.1:6379");Jedis jedis = pool.getResource();//redis 中的命令对于jedis对象的各种方法String pong = jedis.ping();System.out.println(pong);jedis.close();}
}
可以看到 连接已经成功了,接下来就可以通过jedis中的方法来执行redis中对应的指令操作。