package com.ycsoft.report.query.redis; import java.util.List; import com.ycsoft.commons.exception.ReportException; import com.ycsoft.report.query.daq.translate.CacheKey; /** * redis使用的CacheKey * 多了一个rediskey 用于redis缓存提取 * 要重新设计排序的键值保存 * @author new * */ public class RedisCacheKey extends CacheKey { private String rediskey=null; private String query_id=null; public RedisCacheKey(List<Object> keys,List<Integer> sorts,String query_id) throws ReportException { super(keys,sorts); this.query_id=query_id; } /** * redis缓存键值 * 根据keys的值列表增加一定的格式,生成值列表 * cube结果内部计算时,缓存到redis用的键值 * @return */ public String getRediskey() { if(this.rediskey==null){ StringBuilder bf=new StringBuilder(); bf.append(this.query_id).append(":"); for(Object obj:getKeys()){ bf.append(obj).append(','); } this.rediskey=bf.toString(); } return rediskey; } }