All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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