解决本地操作云服务器上的Redis

方案一:开放Redis默认端口,本地通过公网IP+端口号的形式访问。

方案二:每次将本地编写好的Java代码打包,放在云服务器上运行。

方案三:配置ssh端口转发,把云服务器的redis端口,映射到本地主机。

对于方案一来说,由于公网IP谁都可以访问,又开放了Redis的端口,现在所有人都可以来访问了,其中不乏一些"非法分子",保不齐就在你的内存中整点东西~不够安全。

对于方案二来说,每次都需要代码打包,上传到云服务器上,比较麻烦,虽然可以通过第三方工具,但是相较于方案三来说,人工成本比较高~

本文着重讲解方案三。

配置xshell

首先找到当前连接的属性选项。

然后点击隧道,再点击添加。

填写本地需要被侦听的端口,以及后续访问云服务器的端口。

最后点击确定,并进行连接。

如何查看已经建立好映射关系呢?

在本地cmd中,输入命令

复制代码
netstat -ano | findstr 8888

看到如下信息,就说明是建立好了。

此时我们往本地的8888端口发消息,就会被转发到服务器上。

配置Redis

首先找到redis的配置文件

复制代码
whereis redis

然后cd到这个路径,然后vim redis.conf

在配置文件中将127.0.0.1修改成0.0.0.0

然后再找到protect-mode

将yes修改成no

最后保存退出。

代码验证

首先在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();
    }

输出如下:

这就说明没问题了~

现在就可以在本地主机上安全的操作云服务器上的redis了~

相关推荐
Android系统攻城狮几秒前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_max调用流程与实战(五十九)
linux·运维·服务器·gstreamer音视频·音视频进阶·gstreamer音视频进阶
Wang's Blog8 分钟前
Java框架 SpringCloud 快速入门: 过滤器链执行顺序
java·spring cloud
砚底藏山河23 分钟前
量化实战:回测数据底座快照与版本管理进阶
java·大数据·python·金融·maven
l1t1 小时前
DeepSeek总结的一个不含数据的 DuckDB 数据库
服务器·数据库·duckdb
Cc.Y1 小时前
Java零基础入门:封装与继承 —— 从“裸奔“到“穿衣服“,从“重复造轮子“到“站在巨人肩膀上“
java·开发语言
Escalating_xu1 小时前
【C 语言】深入理解指针(4):回调函数、qsort、void * 与泛型排序的模拟实现
java·c语言·开发语言
忆挽篱笙歌1 小时前
makefil
linux·运维·服务器
Shaoshing1 小时前
雪花算法
java
ly76891 小时前
Redis 大 Key 与热点 Key 生产治理:发现、拆分、限流与本地缓存的组合策略
redis·限流·本地缓存·大key·热点key
w_zero_one1 小时前
链表(4)
java·数据结构·算法