这是存储heirarchial数据的最佳方式。 例如:一名员工曾在多家公司工作过。在每家公司,他曾参与过几个项目。在每个项目中,他都使用过不同的模块。员工上过不同的大学。在每个大学他都有不同的科目。等
如果我必须使用Relational DB,我最终会创建像Employee,Company,Project,Module,College等表。
我希望如果我有像employee
这样的根节点,我可以调用类似employee.save
的东西来保存整个树,如果我检索根节点,它应该检索整个树的结构。
我知道像 Redis 和 MongoDB 这样的nosqls具备此功能。最近我也听说过 neo4j 。所以我很困惑使用哪一个。这些数据只是用户的个人资料信息(仅在请求时显示),因此必须缓存其性能。此外,它还需要存储数百万用户的个人资料信息。
在我的项目中,我计划使用mysql作为主数据库,使用Redis来缓存数据库搜索结果。但是,因为配置文件信息必须被缓存,我不愿意使用Redis存储它。 所以请告诉我哪种方式最好的存储方式。我应该使用像Mongo等其他数据库,或New4j,或者只使用Redis ....甚至是mysql?