使用maven创建redis客户端连接

redis 同时被 2 个专栏收录
5 篇文章 0 订阅
5 篇文章 0 订阅

使用maven创建redis客户端连接

java连接redis集群

Jedis Client是Redis官网推荐的一个面向java客户端,库文件实现了对redis各类API进行封装调。
笔者通过用maven构建此项目(简单使用maven可以参考另一篇文章),在Eclipse中进行如下操作。

1、jedis客户端的所有依赖关系pom.xml文件如下

<project xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>paas</groupId>
  <artifactId>redis-client</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>redis-client</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-pool2</artifactId>
      <version>2.0</version>
    </dependency>
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>3.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-nop</artifactId>
      <version>1.7.2</version>
    </dependency>
  </dependencies>
</project>

2、新建类class,连接Redis的单个节点如下

package paas.redis_client;
import org.junit.Test;
import redis.clients.jedis.Jedis;
/**
* Jets测试
* @since 2020年04月27日
*/
public class JedisDemo1{
    @Test
    /**
     * 单实例的测试
     */
    public void demo1(){
        // 1. 设置IP地址和端口
        Jedis jedis = new Jedis("10.134.170.133",6379);
        jedis.auth("123456");
        // 2. 保存数据
        jedis.set("bookname","Redis");
        // 3. 获取数据
        String value = jedis.get("bookname");
        System.out.println(value);
        // 4.释放资源
        jedis.close();
    }
}

可以右击@ test测试如下,点击运行
在这里插入图片描述

3、新建类class,连接Redis的sentinel集群如下

package paas.redis_client;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisSentinelPool;
import java.util.HashSet;import java.util.Set;
import org.junit.Test;
public class JedisSentinel {
    public static void main(String[] args) {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(10);
        config.setMaxWaitMillis(1000);
        String masterName = "mymaster";
        Set<String> sentinelSet = new HashSet<String>();
        sentinelSet.add("10.134.170.133:16381");
        sentinelSet.add("10.134.170.153:16379");
        sentinelSet.add("10.134.170.153:16380");
        JedisSentinelPool pool = new JedisSentinelPool(masterName, sentinelSet,  config,"123456");
        Jedis jedis = null;
        try {
            jedis = pool.getResource();
            jedis.set("name", "yiyi");
            String value = jedis.get("name");
            // 获取键名为name的值
            System.out.println(value);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jedis != null) {
                jedis.close();
            }
        }
    }
}

运行结果如下:

在这里插入图片描述

4、redis单实例连接池连接

package paas.redis_client;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* Reds测试
*/
public class JedisDemo1{
   @Test
   /**
    * 连接池连接方式
    */
   public void demo2(){
       // 获取连接池配置对象
       JedisPoolConfig config = new JedisPoolConfig();
       // 设置最大连接数
       config.setMaxTotal(30);
       // 设置最大的空闲连接数
       config.setMaxIdle(10);
       // 获得连接池: JedisPool jedisPool = new JedisPool(poolConfig,host,port);
       JedisPool jedisPool = new JedisPool(config,"10.134.170.133",6379);
       // 获得核心对象:reds
       Jedis jedis = null;
       try{
           // 通过连接池来获得连接
           jedis = jedisPool.getResource();
           // 设置数据
           jedis.auth("123456");
           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();
           }
       }
   }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值