2010-11-08 93 views
1

我有1000个bean的列表,我需要在不同的项目中共享。我为此使用了memcache。目前,循环遍历完整列表,每个bean都存储在带有一些唯一的内存缓存标识的内存缓存中。我想知道,而不是独立地将每个bean放入memcache中。将所有bean放在hashmap中,并使用用于在memcache中存储bean的相同键,然后将此hashmap放入memcache中。 这会给我在memcached中单独放置每个bean的任何重大改进。或者这会因为物体的大尺寸而导致我的麻烦。 任何帮助表示赞赏。基于Java的memcached客户端,优化将数据放入memcache

回答

2

它不会给你带来什么特别的好处 - 它实际上可能会在加载时变慢 - 序列化是序列化,并且在它周围添加一个hashmap wrapper只会增加需要被反序列化的数据量和填充。对于检索,假设大多数查找都被你想要用于hashmap的密钥亵渎,那么你的检索时间就会大大减少,因为你只需要拉下整个图表就可以看到其中一个谨慎的成员信息。

当然,如果数据完全是静态的,而且您只使用memcached在各种JVM中填充值,则可以这样做,只需将其保存在静态的hashmap中即可......但是,内存消耗的集群中的节点数...

0

我在spymemcached中做了一些optimization work,这有助于它在做线编码时做正确的事情。

这可能会或可能不会帮助您的应用程序。一般来说,只要你有关于你的应用程序的性能问题时就衡量。