我有一个简单的国家/地区状态hashmap,这是一个简单的静态最终不可修改的并发hashmap。 现在我们在应用程序中实现了memcached缓存。 我的问题是,从缓存而不是这么简单的地图获取值是否有益? 如果我将此地图移动到缓存,我将获得或不会获得什么好处?
答案 0 :(得分:1)
这实际上取决于数据的大小以及为JVM分配的内存量。
对于简单的数据,例如一个国家的状态,在几百个条目内,一个简单的HashMap
就足够了,使用memcache
是一种矫枉过正,实际上更慢。
如果大量数据增长(通常为10s / 100s MB或更大)且需要频繁访问,memcache
(或任何其他持久缓存)将优于内存存储。
答案 1 :(得分:1)
它将作为HashMap快得多,因为它存储在内存中,并且可以通过jvm通过它的引用来完成查找。从memcache中查找将需要额外的工作来让处理器查找地图。