package com.genersoft.iot.vmp.utils.redis;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
import redis.clients.jedis.Jedis;
|
import redis.clients.jedis.JedisPool;
|
|
import java.util.Set;
|
|
/**
|
* @description:Jedis工具类
|
* @author: wangshaopeng@sunnybs.com
|
* @date: 2021年03月22日 下午8:27:29
|
*/
|
@Component
|
public class JedisUtil {
|
|
@Autowired
|
private JedisPool jedisPool;
|
|
// ============================== Key ==============================
|
|
/**
|
* 检查给定 key 是否存在。
|
*
|
* @param key
|
* @return
|
*/
|
public Boolean exists(String key) {
|
Jedis jedis = null;
|
try {
|
jedis = jedisPool.getResource();
|
Boolean exists = jedis.exists(key);
|
return exists;
|
} finally {
|
returnToPool(jedis);
|
}
|
}
|
|
|
// ============================== Set ==============================
|
|
/**
|
* SADD key member [member ...]
|
* 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
|
* 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。
|
* 当 key 不是集合类型时,返回一个错误。
|
*/
|
public Long sadd(String key, String... members) {
|
Jedis jedis = null;
|
try {
|
jedis = jedisPool.getResource();
|
Long smove = jedis.sadd(key, members);
|
return smove;
|
} finally {
|
returnToPool(jedis);
|
}
|
}
|
|
/**
|
* SMEMBERS key
|
* 返回集合 key 中的所有成员。
|
* 不存在的 key 被视为空集合。
|
*/
|
public Set<String> smembers(String key) {
|
Jedis jedis = null;
|
try {
|
jedis = jedisPool.getResource();
|
Set<String> smembers = jedis.smembers(key);
|
return smembers;
|
} finally {
|
returnToPool(jedis);
|
}
|
}
|
|
|
/**
|
* SREM key member1 [member2]
|
* 移除集合中一个或多个成员
|
*/
|
public Long srem(String key, String... member) {
|
Jedis jedis = null;
|
try {
|
jedis = jedisPool.getResource();
|
Long srem = jedis.srem(key, member);
|
return srem;
|
} finally {
|
returnToPool(jedis);
|
}
|
}
|
|
private void returnToPool(Jedis jedis) {
|
if (jedis != null) {
|
jedis.close();
|
}
|
}
|
}
|