El primer paso: agregar dependencia de Maven:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.1.0</version>
</dependency>
El segundo paso de uso en 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");
}
}
Encontré los siguientes 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 el problema:
Paso 1: compruebe si se puede hacer ping local al servidor Linux:
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
Paso 2: Apague el firewall:
inicie sesión como root [root @ localhost ~] # systemctl stop firewalld
[root @ localhost ~] # systemctl disable firewalld
El tercer paso: modificar el archivo de configuración de redis:
1) Abrir para permitir la conexión remota, comentar #bind 127.0.0.1
bind 127.0.0.1
2) modo protegido cierra el modo protegido
protected-mode no #yes
Resultado final de la ejecución: