首先,我需要解释下网络在这里的含义,它并不是指存储到一个可以访问的计算机,而是指本机子的一个网络程序,当前程序通过网络连接将信息发送给对方,由对方进行存储管理。
一般来说,在我们的印象中,保存在内存中速度更快,接着是硬盘,最后是网络。相信很多朋友与我一样,一直对这个想法停留在想象层面,觉得这不需要进行测试验证,就像真理一样,但很对不起,它不是真理,测试完了以后,我都还有一点不敢相信。
测试内容:将20000条记录,每条记录大约60个字符,通过上述三种方式进行保存,最终发现直接写入磁盘速度最快,接着是写入内存,最后是网络。
这样引发了一个思考,对于数据,我们该如何存储?
磁盘更加适合保存不再需要载入,或很少需要再次载入的数据信息;
内存更加适合保存需要多次访问,且占用内存不大的,或者增量是可以被预见的;
网络方式不知道更加适合什么情况...
所以在进行服务器存储层的设计时,一般都将数据及时写入磁盘,并且存储内容的格式设计最好能够直接写入文件最后,因为在一个大文件最后插入记录的时间与建立一个新的文件插入记录时间基本相同。对于会被经常访问的数据,都进行了缓存,缓存策略可能根据数据的特性进行一定的调整。