文章目录
需求
之前只会在Windows环境下使用 Redis,现在想在本地环境下写代码,连接到远程服务器(笔者使用阿里云)上面的Redis。
远程服务器端
1. 连接到远端,打开redis.conf
首先使用Xshell或SecureCRT连接到你的远程服务器,然后cd到你的redis安装目录,找到redis.conf文件夹:
2.修改redis.conf的配置
使用vim工具打开并编辑该文件:
需要找到并修改以下几个地方:
提示,vim下如何搜索字符串:
命令模式下,输入:/字符串
比如搜索user, 输入/user
按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串
- daemonize yes
- protected-mode no
- 注释掉 bind 127.0.0.1
- requirepass 你的密码 (设置访问redis的密码)
修改完毕之后记得wq保存
3.重启redis服务
进入你的redis安装目录下的src目录:
先关闭:
redis-cli shutdown
再启动:redis-server /usr/redis-5.0.10/redis.conf
4.打开客户端,输入密码验证
最后打开cli端,输入密码(见下图)
ping -> pong
成功 !
5.配置防火墙/安全组
如果你是阿里云服务器,那你就进入云控制台,开启6379(Redis的默认端口号)。其他服务器类似
然后回到你的Linux,
开启6379端口:firewall-cmd --zone=public --add-port=6379/tcp --permanent
重启防火墙:systemctl restart firewalld.service
到此为止,Linux那边就配置好了。下面看本地代码
Jedis方式连接到远程服务器
前提是导入相关jar包
代码如下(第一行写你的远程服务器地址):
public static void main(String[] args) {
//假如连本地就是127.0.0.1 我这里是连接的远程阿里云
Jedis jedis = new Jedis("xx.xxx.xxx.xx",6379);
//输入redis-cli端设置的密码
jedis.auth("你设置的密码");
System.out.println(jedis.ping());
}
运行结果:如果你在控制台看到pong,说名成功连接。
Springboot方式连接到远程服务器
众所周知,Springboot已经不默认集成Jedis了,是使用的Lettuce。要连接也比较简单,在你的spring配置文件中(笔者是application.yml)添加即可:
spring:
redis:
host: x.xxx.xxx.xx
port: 6379
# 设置密码
password: "你设置的密码"
编写测试类:
@Test
void test2() throws JsonProcessingException {
//在redis中存取键值对
redisTemplate.opsForValue().set("hello","redis");
System.out.println(redisTemplate.opsForValue().get("hello"));
}
如果控制台没报错,打开你的Linux,看看hello这个key有没有被添加进去,如果添加进去,则证明成功连接了
如果本文解决了您的问题,留个赞再走吧~