第一步 - 加入Maven dependency:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.1.0</version>
</dependency>
第二步 - 在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");
}
}
遇到如下问题:
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
如何解决问题:
第一步: 查看本地是否可以ping通linux server:
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
第二步:关闭防火墙:,通过root登录
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
第三步:修改redis config文件:
1) 开放允许远程连接,解注释 #bind 127.0.0.1
bind 127.0.0.1
2)protected mode 关闭保护模式
protected-mode no #yes
最终执行结果:
扫描二维码关注公众号,回复:
12165436 查看本文章