使用jedis操作redis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jedis操作redis相关的知识,希望对你有一定的参考价值。

一 连通性

1. 简单代码测试连通性

Jedis jedis = new Jedis(".......", 6379); 
String keys = "name";  
// 删数据  
jedis.del(keys);  
// 存数据  
jedis.set(keys, "snowolf");  
// 取数据  
String value = jedis.get(keys);  

报错超时, 且windows下的cmd测试相关端口 telnet 10.11.20.140 6379  失败

2. 关闭防火墙

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

 

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall -cmd --status  #查看状态,  not running

 

3. 这时候java客户端调用, 或者telnet还有权限问题

解决方案,可以设为非保护模式,  或者设置密码

非保护模式简单暴力,redis.conf里面设置protected-mode 为no

设置密码:

技术分享

 

二 最简单调用

java操作redis,只需要加上jedis.auth(passwd)即可

Jedis jedis = new Jedis("192.168.118.4", 6379);
jedis.auth("123");
String keys = "name";
// 删数据
jedis.del(keys);
// 存数据
jedis.set(keys, "snowolf");
// 取数据
String value = jedis.get(keys);

 

 三 配置池调用

public static JedisPool jedisPool;
    static{
        // 在web中,还可以用
        ResourceBundle bundle = ResourceBundle.getBundle("redis-config");
        if (bundle == null) {
            throw new IllegalArgumentException(
                    "[redis.properties] is not found!");
        }
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(Integer.valueOf(bundle
                .getString("redis.pool.maxTotal")));
        config.setMaxIdle(Integer.valueOf(bundle
                .getString("redis.pool.maxIdle")));
        config.setTestOnBorrow(Boolean.valueOf(bundle
                .getString("redis.pool.testOnBorrow")));
        config.setTestOnReturn(Boolean.valueOf(bundle
                .getString("redis.pool.testOnReturn")));
        jedisPool = new JedisPool(config, bundle.getString("redis.ip"),
                Integer.valueOf(bundle.getString("redis.port")), 2000, bundle.getString("redis.password"));
    }
 @Test
    /**
     * 使用pool,在beans.xml配置池
     */
    public void testPool() {
        // 从池中获取一个Jedis对象
        Jedis jedis = RedisUtil.jedisPool.getResource();
        String keys = "name";

    //若干操作

    // 释放对象池
    //        RedisUtil.jedisPool.returnResource(jedis);
        jedis.close();
    }

 

以上是关于使用jedis操作redis的主要内容,如果未能解决你的问题,请参考以下文章

使用jedis操作redis

Jedis学习使用(java操作redis)

redis用Java代码操作之Jedis用法

Jedis操作Redis

Hadoop Java-Maven使用Jedis操作Redis

redis--jedis