JavaAPI操作redis(jedis连接池)中的set

Posted Mr.zhou_Zxy

tags:

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

  • Operation .java
package com.redis;

import redis.clients.jedis.Jedis;

public class Operation {
    public static void main(String[] args) {
        //开启连接
        ConnectionsPool connections = new ConnectionsPool();
        Jedis jedis = connections.getJedis();

        /**
         * Set集合操作
         */
        CURD curd = new CURD();
        curd.SADD(jedis);
        curd.SCARD(jedis);
        curd.SDIFF(jedis);

        //关闭连接
        connections.returnJedis(jedis);
    }
}

  • CURD.java
package com.redis;

import redis.clients.jedis.Jedis;

import java.util.Set;


public class CURD {
    //定义key,value
    private static final String KEY = "zxy";
    private static final String VALUE = "bigdata";

    /**
     * 添加
     */
    public void SADD(Jedis jedis){
        jedis.sadd(KEY,VALUE,VALUE + 1,VALUE + 2);
        jedis.sadd(KEY + 1,VALUE + 1,VALUE + 1,VALUE + 2);
    }
    /**
     *SCARD key
     *获取成员集合数
     */
    public void SCARD(Jedis jedis){
        Long scard = jedis.scard(KEY);
        System.out.println(scard);
    }
    /**
     * SDIFF key
     * 返回所有给定集合得差集
     */
    public void SDIFF(Jedis jedis){
        Set<String> sdiff = jedis.sdiff(KEY, KEY + 1);
        System.out.println(sdiff);
    }
}

  • ConnectionsPool.java
package com.redis;
/*
 *获取连接
 */

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class ConnectionsPool {
    // 服务器IP
    private static String IP = "192.168.130.111";
    // redis服务器端口
    private static int PORT = 6379;

    // 连接实例的最大连接数
    private static int MAX_ACTIVE = 1024;

    // 连接池中能存在状态为空闲的个数
    private static int MAX_IDLE = 200;

    // 等待超时时间,单位毫秒
    private static int MAX_WAIT = 2000;

    // 连接超时的时间
    private static int TIMEOUT = 3000;

    // 在borrow一个jedis实例时,是否提前进行validate操作,如果为true得到的实例均是可用的
    private static boolean TEST_ON_BORROW = true;

    // 连接池
    private static JedisPool jpool = null;

    /*
     * 初始化连接池
     */
    static {
        try {
            JedisPoolConfig config = new JedisPoolConfig();
            config.setMaxWait(MAX_WAIT);
            config.setMaxIdle(MAX_IDLE);
            config.setMaxActive(MAX_ACTIVE);
            config.setTestOnBorrow(TEST_ON_BORROW);
            jpool = new JedisPool(config, IP, PORT, TIMEOUT);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /*
     * 获取Jedis实例
     */
    public static Jedis getJedis() {
        if (jpool != null) {
            return jpool.getResource();
        } else {
            return null;
        }
    }

    /*
     * 回收Jedis
     */
    public static void returnJedis(final Jedis jedis) {
        if (jedis != null) {
            jpool.returnResource(jedis);
        }
    }
}

以上是关于JavaAPI操作redis(jedis连接池)中的set的主要内容,如果未能解决你的问题,请参考以下文章

RedisPool类使用Jedis操作Redis

Jedis连接池对Redis数据操作

SpringBoot 操作 Redis的各种实现(Jedis、Redisson的区别比较)

Redis:实例结合源码分析Jedis连接池原理以及Jedis连接池的实现

jedis连接池详解(Redis)

Redis实战-Jedis连接池的使用方法