外部服务器使用jedis操作redis数据库

使用maven获取jedis的包,我本来想去找jedis的jar包的,但是没找到。
(maven)    
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
 
在写一条简单的测试类进行测试
public class JedisTest {
 
public static void main(String[] args){
    Jedis jedis = new Jedis("redis服务器地址",6379);
    jedis.set("name", "Hello Redis");
    String value = jedis.get("name");
    System.out.print(value);
    jedis.close();
}
 
我直接运行出现了 连接超时。。。 这个就是因为防火墙的问题了,可以通过防火墙放行端口解决。
因为是做练习,我直接关闭防火墙
 
但是redis默认是不允许外部服务器直接连接的,这时可以去修改redis的配置文件
 
 
bind + ip地址
只要注释这个bind 127.0.0.1 就可以不限制ip访问
但是比较新的redis版本还做了一个自我保护措施,还需要把 protected-mode 后的yes改为no
我配置完重启redis了,发现还不行,最后发现是启动redis时需要选择改过的配置文件才会使用这个配置文件。
在启动命令后加上配置文件路径就行。
 
把yes改no这样做不安全(不推荐),redis没有实现访问控制功能,不过可以通过redis.conf配置做一个轻量级的认证。
在配置文件里有一个 requirepass参数
这里设置后,需要在jedis连接语句后面加上一句
jedis.auth("123456");
这样就是jedis连接redis啦,后面还准备做一个redis购物车的案例。

猜你喜欢

转载自www.cnblogs.com/z-jx/p/9750869.html