方案一:开放Redis默认端口,本地通过公网IP+端口号的形式访问。
方案二:每次将本地编写好的Java代码打包,放在云服务器上运行。
方案三:配置ssh端口转发,把云服务器的redis端口,映射到本地主机。
对于方案一来说,由于公网IP谁都可以访问,又开放了Redis的端口,现在所有人都可以来访问了,其中不乏一些"非法分子",保不齐就在你的内存中整点东西~不够安全。
对于方案二来说,每次都需要代码打包,上传到云服务器上,比较麻烦,虽然可以通过第三方工具,但是相较于方案三来说,人工成本比较高~
本文着重讲解方案三。
配置xshell
首先找到当前连接的属性选项。
![](https://i-blog.csdnimg.cn/direct/9f4a0736fa504af2b31000370015aca2.png)
然后点击隧道,再点击添加。
![](https://i-blog.csdnimg.cn/direct/db60cf67711a4521ad39f7e159604269.png)
填写本地需要被侦听的端口,以及后续访问云服务器的端口。
![](https://i-blog.csdnimg.cn/direct/19c020319d09406ca72a2e40e54bb755.png)
最后点击确定,并进行连接。
如何查看已经建立好映射关系呢?
在本地cmd中,输入命令
netstat -ano | findstr 8888
看到如下信息,就说明是建立好了。
![](https://i-blog.csdnimg.cn/direct/02010964dfc845739e3d64fa17e48911.png)
此时我们往本地的8888端口发消息,就会被转发到服务器上。
配置Redis
首先找到redis的配置文件
whereis redis
![](https://i-blog.csdnimg.cn/direct/3b088a89dad74480abbad6233f611dd7.png)
然后cd到这个路径,然后vim redis.conf
![](https://i-blog.csdnimg.cn/direct/85bbdbf7bd6049efbb40089a32c8e31c.png)
![](https://i-blog.csdnimg.cn/direct/2f5ddb306af34b8da274f79447f67ce7.png)
在配置文件中将127.0.0.1修改成0.0.0.0
![](https://i-blog.csdnimg.cn/direct/4d472d6e7c1d46d985c931eefe3103d5.png)
然后再找到protect-mode
![](https://i-blog.csdnimg.cn/direct/f82c06053cdc488090c6c65af7a84059.png)
将yes修改成no
![](https://i-blog.csdnimg.cn/direct/4f71a4f5fda945a88c9a987bcb58dcd9.png)
最后保存退出。
代码验证
首先在idea引入依赖
XML
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.4.2</version>
</dependency>
编写代码:
java
public static void main(String[] args) {
JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");
Jedis jedis = jedisPool.getResource();
jedis.mset("key1", "111", "key2", "222", "key3", "333");
List<String> values = jedis.mget("key1", "key2", "key3");
System.out.println("values: " + values);
jedis.close();
}
输出如下:
![](https://i-blog.csdnimg.cn/direct/b9bb3d02fd224f5b8064c980e26fa266.png)
这就说明没问题了~
现在就可以在本地主机上安全的操作云服务器上的redis了~