在我的 java Spring 应用程序中,我需要构建一些配置元数据的进程内/内存中缓存,其结构如下:
Graph<String customerName, Map<String, JSONObject> customerMetadata>:
"My Customer" "CustomerInfo":
{IngestionConfig: {"data": "schema":{"fields"[]}}}
"Asset"
{IngestionConfig: {"data": "schema":{"fields"[]}}}
"Invoice"
{IngestionConfig: {"data": "schema":{"fields"[]}}}
问题:
哪种技术更适合此目的:Map、Google Guava 的 ValueGraph、EhCache 还是其他技术?
最佳答案
这要看情况。您是否希望缓存在一定时间后自行过期?您是否需要分发您的 map ?它是只读的还是您计划在运行时更新它?如果它不是只读的,您的环境是单线程还是多线程? 如果您不需要任何这些花里胡哨的东西,并且它是只读的,我宁愿使用 Map (或任何包含 Java 的东西)。 (这只是一个意见——我是一个极简主义的人。)
关于java 缓存 - 使用 Map 和使用 Graph 之间的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40305595/