code: private void cacheUniqueSelectRef(Object object, MappedStatement mt, String cacheKey) {
  		Collection<QueryMethodCache> mcs = queryCacheMethods.get(mt.getId().substring(0, mt.getId().lastIndexOf(SPLIT_PONIT))).values();
  		outter:for (QueryMethodCache methodCache : mcs) {
  			if(methodCache.isPk || methodCache.groupRalated)continue;
  			try {	
  				Object[] cacheFieldValues = new Object[methodCache.fieldNames.length];
  				for (int i = 0; i < cacheFieldValues.length; i++) {
  					if(methodCache.fieldNames[i] == null)break outter;
  					cacheFieldValues[i] = ReflectUtils.getObjectValue(object, methodCache.fieldNames[i]);
  					if(cacheFieldValues[i] == null)continue outter;
  				}
  				String fieldCacheKey = genarateQueryCacheKey(methodCache.keyPattern , cacheFieldValues);
  				
  				cacheFieldRefKey(fieldCacheKey,cacheKey, methodCache.getExpire());
  				if(logger.isDebugEnabled())logger.debug("_autocache_ method[{}] add ref cacheKey:{}",mt.getId(),fieldCacheKey);
  			} catch (Exception e) {
  				logger.warn("cacheUniqueSelectRef:"+cacheKey,e);
  			}
  		}
  	}
docs: 缓存其他唯一结果查询方法和主键缓存的引用
  @param object
  @param mt
  @param cacheKey