A primeira etapa de adição da dependência Maven:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.1.0</version>
</dependency>
A segunda etapa - use em java:
JedisPoolConfig-JedisPool-Jedis
public class RedisTestHelloWorld {
public static void main(String[] args) {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(20);
jedisPoolConfig.setMaxIdle(10);
jedisPoolConfig.setMinIdle(5);
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "192.168.0.109",6379,3000,null);
Jedis jedis = null;
jedis = jedisPool.getResource();
jedis.set("Allen-Lingling","Hello World!!");
jedis.get("Allen-Lingling");
}
}
Encontrou os seguintes problemas:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.jedis.util.Pool.getResource(Pool.java:59)
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:234)
at allen.redis.RedisTestHelloWorld.main(RedisTestHelloWorld.java:18)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host 192.168.0.109:6379
at redis.clients.jedis.Connection.connect(Connection.java:204)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:100)
at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1866)
at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:117)
at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:889)
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:424)
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:349)
at redis.clients.jedis.util.Pool.getResource(Pool.java:50)
... 2 more
Como resolver o problema:
Etapa 1: verifique se o servidor Linux pode receber ping localmente:
C:\Users\Administrator>ping 192.168.0.109
正在 Ping 192.168.0.109 具有 32 字节的数据:
来自 192.168.0.109 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.109 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.109 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.109 的回复: 字节=32 时间<1ms TTL=64
Etapa 2: Desligue o firewall: Faça login por meio de root
[root @ localhost ~] # systemctl stop firewalld
[root @ localhost ~] # systemctl disable firewalld
A terceira etapa: modificar o arquivo de configuração do redis:
1) Abra para permitir conexão remota, comentário #bind 127.0.0.1
bind 127.0.0.1
2) modo protegido feche o modo protegido
protected-mode no #yes
Resultado final da execução: