
com.weicoder.redis.base.BaseRedis Maven / Gradle / Ivy
package com.weicoder.redis.base;
import java.util.List;
import com.weicoder.common.lang.Bytes;
import com.weicoder.common.lang.Lists;
import com.weicoder.common.zip.ZipEngine;
import com.weicoder.redis.RedisPool;
/**
* Redis基类
* @author WD
*/
public abstract class BaseRedis implements RedisPool {
/**
* 压缩值 当值能压缩时才压缩
* @param key 键
* @param value 值
*/
public final String compress(String key, Object value) {
return set(Bytes.toBytes(key), ZipEngine.compress(value));
}
/**
* 根据键获得压缩值 如果是压缩的返回解压缩的byte[] 否是返回Object
* @param key 键
* @return 值
*/
public final byte[] extract(String key) {
return ZipEngine.extract(get(key));
}
/**
* 获得多个键的数组
* @param keys 键
* @return 值
*/
public Object[] get(String... keys) {
// 声明列表
Object[] objs = new Object[keys.length];
// 循环解压数据
for (int i = 0; i < keys.length; i++) {
objs[i] = get(keys[i]);
}
// 返回列表
return objs;
}
/**
* 获得多个键的数组
* @param keys 键
* @return 值
*/
public List extract(String... keys) {
// 声明列表
List list = Lists.newList(keys.length);
// 循环解压数据
for (Object o : get(keys)) {
list.add(ZipEngine.extract(o));
}
// 返回列表
return list;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy