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的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 操作 Redis的各种实现(Jedis、Redisson的区别比较)