@Component(value = "redisManage")
public class RedisManageImpl implements RedisManage {
private static final ILog logger= LogFactory.getLog(RedisManageImpl.class);
private static JedisPool redisDb2;
static {
JedisPool redisDb2 = new JedisPool(getJediPoolConfig(), RRTRedisConfig.getRedisHost(),
RRTRedisConfig.getRedisPort(), RRTRedisConfig.getRedisTimeout(),
RRTRedisConfig.getRedisPassword(), RRTRedisConfig.getRedisDb());
RedisManageImpl.redisDb2 = redisDb2;
}
private static JedisPoolConfig getJediPoolConfig(){
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(RRTRedisConfig.getRedisCfgMaxtotal());
config.setMaxIdle(RRTRedisConfig.getRedisCfgMaxidle());
config.setMaxWaitMillis(RRTRedisConfig.getRedisCfgMaxWaiteMillies());
config.setTestOnReturn(true);
return config;
}
@Override
public void pushList(String key, String value) {
Jedis jedis = null;
try {
jedis = redisDb2.getResource();
jedis.rpush(key, value);
}catch (Exception e){
logger.error("redis 出错;", e);
}finally {
if(jedis != null) {
jedis.close();
}
}
}
@Override
public List<String> popList(String key, int num) {
Jedis jedis = null;
List<String> stringList = null;
String value = null;
try {
jedis = redisDb2.getResource();
stringList = new ArrayList<>();
for (int i = 0; i < num; i++){
value = jedis.lpop(key);
if(value == null){
return stringList;
}
stringList.add(value);
}
}catch (Exception e){
logger.error("redis出错;", e);
}finally {
if(jedis != null) {
jedis.close();
}
}
return stringList;
}
@Override
public void pushString(String key, String value, int expire) {
Jedis jedis = null;
try {
jedis = redisDb2.getResource();
jedis.set(key, value);
jedis.expire(key, expire);
}catch (Exception e){
logger.error("redis 出错;", e);
}finally {
if(jedis != null) {
jedis.close();
}
}
}
@Override
public String getStr(String key) {
Jedis jedis = null;
String value = "";
try {
jedis = redisDb2.getResource();
value = jedis.get(key);
}catch (Exception e){
logger.error("redis 出错;", e);
}finally {
if(jedis != null) {
jedis.close();
}
}
return value;
}
}