burt2007 发表于 2013-04-19 16:48

多个进程之间如何“共享”数据

现在处理一项数据,起了20个进程,进程中所读的数据都是一样的,每个进程占用368MB内存,设想如果进程之间共享数据,比如把数据存到数据库,访问数据库,进程本身占用的内存就降了下来,总体消耗就降低了。

进程程序所读的一样的数据是一亿条id,用judy array存的,尝试过存到mongodb,http://weibo.com/2061032591/zsRUHua9C导入太慢了,效率貌似还不如直接存judy array。

请教各位,有更好的方法或者更适合的数据库吗?

bikong0411 发表于 2013-04-20 08:32

可以用mysql啊,导入的时候用load data

gavindev 发表于 2013-04-20 15:23

要根据你的数据来分析呀,如果只是ID,用key value就好了,Mongodb的优点你真的明白吗?

cuphper 发表于 2013-04-21 10:22

应用程序是怎么设计的,感觉有点怪~

client 发送请求-> service(专门处理数组)

处理完数据仍cache,client再次请求就读cache

定期更新cache

这样能满足lz的需求?

squarezhou 发表于 2013-04-22 20:31

回复 5# burt2007


不如直接使用Memcached存,PHP从MC读。

个人觉得可以考虑用共享内存

burt2007 发表于 2013-04-21 15:32

回复 4# cuphper


咱们想到一块去了,正在测试中。

用socket,相当于serve端存储数据,client段请求serve端的数据之后client继续处理。
页: [1]
查看完整版本: 多个进程之间如何“共享”数据