@Override public List<HV> multiGet(Collection<HK> hashKeys) { return ops.multiGet(getKey(), hashKeys); }
/** * 获取所有给定字段的值 * * @param key * @param fields * @return */ public List<Object> hMultiGet(String key, Collection<Object> fields) { return redisTemplate.opsForHash().multiGet(key, fields); }
@Override public List<HV> multiGet(Collection<HK> hashKeys) { return ops.multiGet(getKey(), hashKeys); }
/** * 根据Hash表的key和域Field列表获取对应的Value列表(可用于获取多个对象或者对象的多个属性) * * @param key Hash表的key * @param fields 域Field列表 * @return List<T> Hash的key和域Field列表获取对应的Value列表 */ @Override public <T extends Serializable> List<T> hmget(String key, List<String> fields) { HashOperations<String, String, T> hashOperations = redisTemplate.opsForHash(); return hashOperations.multiGet(key, fields); }
@Override public List<HV> multiGet(Collection<HK> hashKeys) { return ops.multiGet(getKey(), hashKeys); }
@Override public Iterable<Album> findAll(Iterable<String> ids) { return hashOps.multiGet(ALBUMS_KEY, convertIterableToList(ids)); }
public List mutiGetHashValue(String key, List hashKeys) { return stringRedisTemplate.opsForHash().multiGet(key,hashKeys); }
@Override public List<Config> findByNames(Long appId, List<String> names) { String indexNameKey = RedisKeys.keyOfIndexName(appId); List<Object> namesObj = Lists.transform(names, new Function<String, Object>() { @Override public Object apply(String name) { return name; } }); List<Object> idsObj = redis.opsForHash().multiGet(indexNameKey, namesObj); if (idsObj == null){ return Collections.emptyList(); } idsObj.removeAll(Collections.singleton(null)); List<String> idsStr = Lists.newArrayListWithExpectedSize(idsObj.size()); for (Object idObj : idsObj){ idsStr.add(String.valueOf(idObj)); } return findByIds(idsStr); }
/** * <p> * 根据hashKey的列表从hash中获取相应泛型对象 * </p> * <p> * <pre> * DqRedisTemplateHandler.multiGetFromHash("key", hashKeys, UserEntity.class) * </pre> * * @param key : String : 主key * @param hashKeys : List<String> : hashKey列表 * @param clazz : 泛型class * @return 泛型对象列表 * @author daiqi * @date 2017年12月13日 下午2:05:53 */ @SuppressWarnings({"unchecked", "rawtypes"}) public static <T> List<T> multiGetFromHash(String key, Collection<Object> hashKeys, Class<T> clazz) { if (EcStringUtils.isEmpty(key) || EcCollectionsUtils.isEmpty(hashKeys) || EcBaseUtils.isNull(clazz)) { return null; } Collection hashKeysStr = EcJSONUtils.fromListToTList(hashKeys, String.class); return EcJSONUtils.fromListToTList(stringRedisTemplate.opsForHash().multiGet(key, hashKeysStr), clazz); }