code: public static String generate(String prefix,Object...args){
  		if(args == null || args.length == 0)return prefix;
  		StringBuilder keyBuilder = new StringBuilder(prefix);
  		
  		String keyString = null;
  		if(args != null && args.length > 0){
  			keyBuilder.append(":");
  			StringBuilder argsBuilder = new StringBuilder();
  			for (int i = 0; i < args.length; i++) {
  				if(args[i] == null){
  					argsBuilder.append("_null");
  				}else if(isSimpleDataType(args[i])){
  					argsBuilder.append(args[i].toString());
  				}else if(args[i] instanceof Collection){
  					argsBuilder.append(args[i].toString().replaceAll("\\s{0,}", ""));
  				}else{
  					argsBuilder.append(ToStringBuilder.reflectionToString(args[i], ToStringStyle.SHORT_PREFIX_STYLE));
  				}
  				if(i < args.length - 1)argsBuilder.append("_");
  			}
  			keyString = argsBuilder.length() > 32 ? md5(argsBuilder) : argsBuilder.toString();
  			keyBuilder.append(keyString);
  		}
  		return keyBuilder.toString();
  	}
docs: 生成缓存key
  @param prefix
  @param args
  @return