作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想将网络 HashMap
存储在具有单个键的 Redis
中。
例如:
HashMap<String, HashMap<String,String>> map = new HashMap<>();
请建议:
最佳答案
Redis 目前不支持它。然而,除了rejson
之外,还有一种方法可以做到这一点。 .
您可以将其转换为 JSON 并存储在 Redis 中并检索。遵循我在 Jackson 中使用的实用方法。
将对象转换为字符串:
public static String stringify(Object object) {
ObjectMapper jackson = new ObjectMapper();
jackson.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
try {
return jackson.writeValueAsString(object);
} catch (Exception ex) {
LOG.log(Level.SEVERE, "Error while creating json: ", ex);
}
return null;
}
示例:stringify(obj);
将字符串转换为对象:
public static <T> T objectify(String content, TypeReference valueType) {
try {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(Feature.WRITE_DATES_AS_TIMESTAMPS, false);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSS");
dateFormat.setTimeZone(Calendar.getInstance().getTimeZone());
mapper.setDateFormat(dateFormat);
return mapper.readValue(content, valueType);
} catch (Exception e) {
LOG.log(Level.WARNING, "returning null because of error : {0}", e.getMessage());
return null;
}
}
示例:List<Object> list = objectify("Your Json", new TypeReference<List<Object>>(){})
您可以根据需要更新此方法。我确定,您知道如何在 Redis 中添加和更新。
关于java - 如何在 Redis 中存储嵌套的 Hashmap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52255982/
我是一名优秀的程序员,十分优秀!