多个进程之间如何“共享”数据
现在处理一项数据,起了20个进程,进程中所读的数据都是一样的,每个进程占用368MB内存,设想如果进程之间共享数据,比如把数据存到数据库,访问数据库,进程本身占用的内存就降了下来,总体消耗就降低了。进程程序所读的一样的数据是一亿条id,用judy array存的,尝试过存到mongodb,http://weibo.com/2061032591/zsRUHua9C导入太慢了,效率貌似还不如直接存judy array。
请教各位,有更好的方法或者更适合的数据库吗? 可以用mysql啊,导入的时候用load data 要根据你的数据来分析呀,如果只是ID,用key value就好了,Mongodb的优点你真的明白吗? 应用程序是怎么设计的,感觉有点怪~
client 发送请求-> service(专门处理数组)
处理完数据仍cache,client再次请求就读cache
定期更新cache
这样能满足lz的需求? 回复 5# burt2007
不如直接使用Memcached存,PHP从MC读。
个人觉得可以考虑用共享内存 回复 4# cuphper
咱们想到一块去了,正在测试中。
用socket,相当于serve端存储数据,client段请求serve端的数据之后client继续处理。
页:
[1]