Redis:四、jedis连接redis服务器

时间:2021-09-04 14:39:39

注意事项:必须要放开redis允许启动主机访问。

注释/etc/redis.conf 的 bind 127.0.0.1 这个句话

Redis:四、jedis连接redis服务器

1.1 项目结构

Redis:四、jedis连接redis服务器

1.2 Jedis连接redis服务端

import java.util.Set;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class TestJedis {

  @Test

  public void testJedisConnect(){

    // 连接redis服务器端(使用host)

    @SuppressWarnings("resource")

    Jedis jedis = new Jedis("192.168.56.128");

    System.out.println("连接redis服务端成功!");

    //测试redis服务器是否正在运行

    System.out.println("redis服务器正在运行吗?"+ jedis.ping());

    System.out.println("redis服务器信息?"+ jedis.info());

  }

}

 

Tips:使用jedis连接redis可能会出现的问题及解决方案:

1)ip绑定问题

Connection refused: connect

Redis:四、jedis连接redis服务器

把Redis的配置文件redis.conf里的

bind localhost(或者bind 127.0.0.1,表明只有该主机才能访问)注释掉。

Redis:四、jedis连接redis服务器

或者修改为:

bind ip     表明,只能通过ip访问。

2)、保护模式

DENIED Redis is running in protected mode because protected mode is enabled…

redis处于保护模式,只能本地链接,我们需要修改配置文件redis.conf,将protected-mode yes改成no

Redis:四、jedis连接redis服务器

1.3 Key测试

@Test

public void testKey(){

  @SuppressWarnings("resource")

  Jedis jedis = new Jedis("192.168.56.128");

  System.out.println("连接redis服务端成功!");

  //测试redis服务器是否正在运行

  System.out.println("redis服务器正在运行吗?"+ jedis.ping());

  jedis.set("jediskey", "apple");

  String value = jedis.get("jediskey");

  System.out.println(value);

  Set<String> keys = jedis.keys("*");

  for (String string : keys) {

    System.out.println(string);

  }

}

1.4 List测试

@Test

public void testList(){

  @SuppressWarnings("resource")

  Jedis jedis = new Jedis("192.168.56.128");

  System.out.println("连接redis服务端成功!");

  //测试redis服务器是否正在运行

  System.out.println("redis服务器正在运行吗?"+ jedis.ping());

  jedis.lpush("list01", "string1");

  jedis.lpush("list01", "string2");

  jedis.lpush("list01", "string3");

  List<String> listString = jedis.lrange("list01", 0, 2);

  for (String string : listString) {

    System.out.println(string);

  }

}

1.5 Set测试

@Test

public void testSet(){

  @SuppressWarnings("resource")

  Jedis jedis = new Jedis("192.168.56.128");

  System.out.println("连接redis服务端成功!");

  //测试redis服务器是否正在运行

  System.out.println("redis服务器正在运行吗?"+ jedis.ping());

  jedis.sadd("jedisset", "mysql");

  jedis.sadd("jedisset", "oracle","mongodb");

  Set<String> set = jedis.sunion("jedisset");

  for (String string : set) {

    System.out.println(string);

  }

}

1.6 Hash测试

@Test

public void testHash(){

  @SuppressWarnings("resource")

  Jedis jedis = new Jedis("192.168.56.128");

  System.out.println("连接redis服务端成功!");

  //测试redis服务器是否正在运行

  System.out.println("redis服务器正在运行吗?"+ jedis.ping());

  jedis.hset("hash01", "name", "zhangsan");

  jedis.hset("hash01", "age", "18");

  jedis.hset("hash01", "phone", "18627738874");

  List<String> hashString = jedis.hmget("hash01", "name","age","phone");

  for (String string : hashString) {

    System.out.println(string);

  }

}