我有大量(数百万)固定大小的值以随机顺序存储在磁盘上。我将相同的一组值以不同的顺序存储在内存中。我需要将这些值按照它们在内存中的顺序存储在磁盘上。挑战在于:我需要在任何时候在磁盘上至少保留每个值的一个副本——即它需要是持久的。
我有相当多的 RAM 可以使用(这些值仅占 60% 左右),大量的临时存储空间,但持久磁盘上只有非常少量的空间,足以容纳不到一百万个值。
给定磁盘上的值,我可以非常非常快速地在内存中找到它。但反之则不然,给定内存中的值,在磁盘上查找它的速度非常慢。
鉴于这些限制,将值的顺序尽可能快地从内存传输到磁盘的最佳算法是什么?