@Override public List<HV> values() { return ops.values(getKey()); }
/** * 查询全部用户 */ public List<User> query(){ HashOperations<String, String, String> opsForHash = stringRedisTemplate.opsForHash(); List<String> usersJson = opsForHash.values(KEY_PREFIX); List<User> users = new ArrayList<>(usersJson.size()); usersJson.forEach(x -> { try { users.add(objectMapper.readValue(x,User.class)); } catch (IOException e) { logger.error("read user error id is {}",x); } }); return users; } }
@Override public Iterable<Album> findAll() { return hashOps.values(ALBUMS_KEY); }
/** * 获取哈希表中所有值 * * @param key * @return */ public List<Object> hValues(String key) { return redisTemplate.opsForHash().values(key); }
@Override public Set<String> hvalues(String key) { return redisTemplate.opsForHash().values(key) .stream().map(i -> (String) i).collect(Collectors.toSet()); }
@Override public List<HV> values() { return ops.values(getKey()); }
@Override public Set<String> hvalues(String key) { return redisTemplate.opsForHash().values(key) .stream().map(i -> (String) i).collect(Collectors.toSet()); }
@Override public List<TacInst> getAllTacMsInsts() { return hashOperations.values(getMainKey()); }
@Override public List<TacInst> getMsInsts(String code) { return hashOperations.values(getMainKey() + code); }
@Override public List<TacMsDO> getAllMs() { return hashOperations.values(getMainKey()); }
@Override public List<TacInst> getAllTacMsInsts() { return hashOperations.values(getMainKey()); }
@Override public List<TacMsDO> getAllMs() { return hashOperations.values(getMainKey()); }
@Override public List<TacInst> getMsInsts(String code) { return hashOperations.values(getMainKey() + code); }
@Override public List<V> hashGetHashAllValues(K key) { return (List<V>) redisTemplate.opsForHash().values(key); }
@Override public List<HV> values() { return ops.values(getKey()); }
/** * 从数据库中读取所有配置。改成关系数据库,重写此方法 * * @return 返回所有配置 */ @Override protected List<LimitConfig> listFromDb() { List<Object> list = this.redisTemplate.opsForHash().values(REDIS_KEY); List<LimitConfig> ret = new ArrayList<>(list.size()); for (Object jsonStr : list) { ret.add(JSON.parseObject(String.valueOf(jsonStr), LimitConfig.class)); } return ret; }
@Override public List getMsgReady() throws Exception { HashOperations hashOperations = redisTemplate.opsForHash(); List<RabbitMetaMessage> messages = hashOperations.values(MQConstants.MQ_MSG_READY); List<RabbitMetaMessage> messageAlert = new ArrayList(); List<String> messageIds = new ArrayList<>(); for(RabbitMetaMessage message : messages){ /**如果消息超时,加入超时队列*/ if(messageTimeOut(message.getMessageId())){ messageAlert.add(message); messageIds.add(message.getMessageId()); } } /**在redis中删除已超时的消息*/ hashOperations.delete(MQConstants.MQ_MSG_READY, messageIds); return messageAlert; }
/** * <p> * 获取key对应的redis中该map的所有值 * </p> * <p> * <pre> * DqRedisTemplateHandler.valuesFromHash("key", UserEntity.class) = ["userObj1","userObj2","userObj3"] * </pre> * * @param key : 主key * @param clazz : 泛型后的class * @return List<T> * @author daiqi * @date 2017年12月19日 上午9:08:27 */ public static <T> List<T> valuesFromHash(String key, Class<T> clazz) { if (EcStringUtils.isEmpty(key) || EcBaseUtils.isNull(clazz)) { return null; } return EcJSONUtils.fromListToTList(stringRedisTemplate.opsForHash().values(key), clazz); }
/** * 操作hash,存放User对象 */ private void operateHash() { String key = "user"; HashOperations<String, String, User> hashOperations = objRedisTemplate.opsForHash(); hashOperations.put(key, "user1", User.builder().name("Hulk").age(50).build()); hashOperations.put(key, "user2", User.builder().name("Thor").age(1500).build()); hashOperations.put(key, "user3", User.builder().name("Rogers").age(150).build()); log.info("hash size:{}", hashOperations.size(key)); log.info("--------拿到Map的key集合--------"); Set<String> keys = hashOperations.keys(key); keys.forEach(log::info); log.info("--------拿到Map的value集合--------"); List<User> users = hashOperations.values(key); users.forEach(user -> log.info(user.toString())); log.info("--------拿到user1的value--------"); User user = hashOperations.get(key, "user1"); log.info(user.toString()); } }