Redis:四、jedis连接redis服务器
注意事项:必须要放开redis允许启动主机访问。
注释/etc/redis.conf 的 bind 127.0.0.1 这个句话
1.1 项目结构
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的配置文件redis.conf里的 bind localhost(或者bind 127.0.0.1,表明只有该主机才能访问)注释掉。 或者修改为: bind ip 表明,只能通过ip访问。 2)、保护模式 DENIED Redis is running in protected mode because protected mode is enabled… redis处于保护模式,只能本地链接,我们需要修改配置文件redis.conf,将protected-mode yes改成no |
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); } } |