我们需要一个分布式 LRU 缓存,但它可以同时使用内存和磁盘。我们有一个大型数据集,它永久存储在磁盘上。我们从该数据集创建其他计算数据集,但仅在客户需要时才创建。
由于这些辅助数据集源自持久性数据,因此我们永远不需要永久保存这些派生数据。
我认为 Redis 可以将磁盘用作二级 LRU 缓存,但一直找不到任何指向这一点的文档。 Redis 似乎只使用磁盘来持久化整个缓存。我设想我们能够使用一堆 Redis 实例进行横向扩展。
如果 Redis 做不到,是否有其他系统可以做到?
最佳答案
如果数据不适合内存,操作系统可以将其换出到磁盘。这称为虚拟内存。在这里您可以找到解释:http://redis.io/topics/virtual-memory
备注:您想检索一些数据,对其进行处理,然后得到一些中间结果。请检查您是否想要分发您的处理,而不仅仅是数据。看看 Apache Hadoop,尤其是 Apache Spark。
关于caching - Redis 可以将磁盘用作 LRU 缓存的一部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30537524/