日期:2014-05-20  浏览次数:20708 次

缓存中大数据的处理
现在我有多个组织,每个组织都大约100人左右。每个人都可以访问他所在的组织,可以看到组织中的所有成员。

  那么在组织中成员访问所在组织的时候,要是成员数据(100条左右)每次都从数据库中获取的话。对系统会有极大的压

力。(因为组织成员较多所以组织被访问的较频繁),所以我就考虑将成员数据直接加载到内存中。但是数据量太大了(就算

有100个组织,每个组织100人合起来就10000条数据)。

  所以我就考虑能不能检测组织中成员的在线信息,如果一个组织中成员都不在线我就将这个组织中成员信息从内存中完全

移除掉,只要组织中有一个人在线或登录,就将所有成员信息加载进来。但是成员数量有太多了。同时监测所有主组织的所有

成员的在线信息明显又不太现实。

  有什么简便的方法,请大虾指教!!!
  如有回复不甚感激!!!

------解决方案--------------------
10000条,能占多少内存,毛毛雨了。
------解决方案--------------------
简单的讲,用一个Map<String,List<String>>就行了。

key是组织号,value是组织下的成员,它用一个List存放。

list中用contains()方法,Map 中用remove()方法,这些就够用了。
------解决方案--------------------
探讨
可是每一条数据都很大啊!!!

------解决方案--------------------
不知道楼主所谓的大,究竟有多大,如果超过 100MB 以上,可以考虑用外部缓存,如开源的 MemCache。