Redis在java中的第一个Helloworld

第一步 - 加入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

最终执行结果:

猜你喜欢

转载自blog.csdn.net/pengweismile/article/details/112444472