在windows环境下使用Jedis链接Centos虚拟机中的redis数据库步骤
前面的文章介绍了在centos中安装redis数据库,下面就是到了使用java控制redis数据库了
1. 配置redis.conf
首先先要修改redis配置文件,配置文件中配置了redis是否允许远程等等设置
使用命令 vim /etc/redis.conf打开配置文件,(由于之前把配置文件放在/etc目录下所以去etc目录下找)
没有放在etc目录下的可以去安装目录下找redis.conf文件
-
修改可访问地址
在大约75行有一个配置bind 127.0.0.1 表示只允许本机访问,我们直接把这行配置注释掉 -
关闭保护模式
94行protected-mode yes 表示打开保护模式 我们把yes改为no 支持远程访问 -
关闭防火墙
重启服务之后就可以链接了 但是仅仅只是redis可以连接了 linux本身还不支持远程访问,所以我们需要关闭防火墙
下面是几个关于防火墙的命令
1. 启动防火墙
systemctl start firewalld
2. 禁用防火墙
systemctl stop firewalld
3. 设置开机启动
systemctl enable firewalld
4. 停止并禁用开机启动
systemctl disable firewalld
5. 重启防火墙
firewall-cmd --reload
关闭防火墙之后就可以在windows下进行连接了
ps: 可以不关闭防火墙只开放6379端口 这里不演示了
导入jedis的依赖
由于我们是要使用java来控制redis就如同jdbc一样jedis就是用来控制redis的jar
首先新建maven工程
导入jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.2.1</version>
</dependency>
我在这里导入的是4.2.1版本的依赖
使用xshell链接虚拟机
后台启动redis服务(在配置文件中允许后台启动)
redis-service /etc/redis.conf
使用redis自带工具链接redis
redis.cli
链接成功之后
使用ping命令检测是否正常
返回pong表示正常
下面进行链接测试
- 首先确保上面的配置信息是否配置成功包括注释本地连接,关闭保护模式,关闭防火墙(或开放6379端口)
- 确保导入正确的依赖
- 确保redis服务已经打开
public class redisTest {
@Test
public void test() {
//创建jedis对象
Jedis jedis = new Jedis("192.168.xxx.xxx", 6379);
Set<String> keys = jedis.keys("*");
keys.forEach(System.out::println);
}
}
redis对象就是一个jedis
直接new一个Jedis对象即可,传进去客户端的IP地址和端口号
调用方法查询数据库中所有的键
由于我们的数据库是空的所以返回空为正常
但是如果报错,说连接超时
需要回去看上面的配置是否成功!