沃梦达 / IT编程 / 数据库 / 正文

Java连接Redis及使用

一、Jedis介绍Jedis是Redis官方首选的Java客户端开发包;Jedis的GitHUB地址https:github.com/xetorthio/jedis 二、Jedis的jar包commons-pool2-2.3.jarjedis-2.7.0.jar 1、新建一个java项目;2、在src下新建...

一、Jedis介绍

JedisRedis官方首选的Java客户端开发包;

Jedis的GitHUB地址https:github.com/xetorthio/jedis

 

二、Jedis的jar包

commons-pool2-2.3.jar

jedis-2.7.0.jar

 

1、新建一个java项目;

2、在src下新建一个lib文件夹

3、将Jedis的jar复制放到lib下面

4、选中Jedis的两个Jar包右击,选择Build Path->Add to Build Path,添加到构建路径

5、创建一个package,命名为com.imooc.jedis,在下面创建一个JedisDemo.java文件

 

三、使用Jedis

在Linux系统上打开Redis的6379端口

进入Linux防火墙的设置
vim /etc/sysconfig/iptables

增加一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

按Esc,:wq退出

重启Linux防火墙

service iptables restart

运行Java程序,Run As => Junit Test


import org.junit.Test;
import redis.clients.jedis.Jedis;

/**
 * Jedis测试
 * @since 2018年10月15日
 */
public class JedisDemo1{

    @Test
    /**
     * 单实例的测试
     */
    public void demo1(){
        // 1. 设置IP地址和端口
        Jedis jedis = new Jedis("192.168.32.130",6379);
        // 2. 保存数据
        jedis.set("name","imooc");
        // 3. 获取数据
        String value = jedis.get("name");
        System.out.println(value);
        // 4.释放资源
        jedis.close();
    }

}

运行成功

 

Jedis和JDBC是很类似的,它也可以使用连接池来进行操作

连接池的方式

 


import org.junit.Test;
import redis.clients.jedis.Jedis;

/**
 * Jedis测试
 */
public class JedisDemo1{

    @Test
    /**
     * 连接池连接方式
     */
    public void demo2(){
        // 获取连接池配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        // 设置最大连接数
        config.setMaxTotal(30);
        // 设置最大的空闲连接数
        config.setMaxIdel(10);

        // 获得连接池: JedisPool jedisPool = new JedisPool(poolConfig,host,port);
        JedisPool jedisPool = new JedisPool(config,"192.168.32.130",6379);

        // 获得核心对象:jedis
        Jedis jedis = null;
        try{
            // 通过连接池来获得连接
            jedis = jedisPool.getResource();
            // 设置数据
            jedis.set("name","张三");
            // 获取数据
            String value = jedis.get("name");
            System.out.println(value);
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            // 释放资源
            if(jedis != null){
                jedis.close();
            }
            // 释放连接池
            if(jedisPool != null){
                jedisPool.close();
            }
        }

    }

}

连接池使用总结

? 获取连接池配置对象

? 设置最大连接数和最大空闲连接数

? 获得连接池

? 获得核心对象

? 通过连接池获得链接

? 设置数据

? 获取数据

? 释放Jedis资源

? 释放jedisPool资源

本文标题为:Java连接Redis及使用