一台机器4g缓存实现方式

10-03-26 ngq
有一台机器8G内存,需要有4g的缓存,怎么实现好,单个64JVM是否支持分配5G以上的内存,如果支持那么是否会带来垃圾回收很慢呢?
不需要支持分布式,有什么好办法?最好是在一个进程中?
1、最好使用Java本身缓存,但就怕数据量一大,垃圾回收太慢,况且一个jvm能否支持5G以上的内存
2、使用C或C++编写单独的缓存。
请各位给个解决办法?

banq
2010-03-26 10:00
很简单,配多个JVM,Java天生是网络,也就是是多个JVM。

使用分布式缓存比如Echache就能一步到位。

ngq
2010-03-26 10:12
谢谢bang的回复,我想问一下,能否通过一个jvm来实现?我想用这种方式

xmuzyu
2010-03-26 11:51
2010年03月26日 10:12 "ngq"的内容
谢谢bang的回复,我想问一下,能否通过一个jvm来实现?我想用这种方式 ...


不建议这种方式,本来JVM内存有限制,当个JVM内存设置过大,GC压力也很大,因此最好配多个JVM。

icyiwh
2010-03-26 17:41
如果用一个JVM, 那只能拿它当客户端, 用memcache做服务器, 想要多少内存都够

PS: 菜菜的回答一个

samba
2010-03-27 10:00
jvm本身好像是有限的吧!

在不同的版本上有不同的限制。

window jvm 最大好像是 1.2-1.5g

在linux 上 大约是 2.6 g 左右

likewater
2010-04-01 11:28
用memcached做集群就可以吧。。。。。