2016-03-02 62 views
0

我的应用程序在插入到RDBS之前使用缓存(redis)来保存数据。它创建批次并节省连接时间。问题是服务器上没有很多ram,并且很有可能出现内存不足错误。 Redis最新版本不支持虚拟内存(存储在硬盘中)。也许有其他解决方案不使用旧版本的redis?持久缓存内存不足

谢谢, JEV

+0

什么是数据集的大小? –

+0

你是什么意思数据集的大小? redis存储请求数据。数据量取决于白天的时间。我做了持久性和批处理数据以存储在数据库中。正如我提到的问题,redis数据可能会超出内存大小(内存不足错误)。 –

+0

我在下面添加了我的答案 - 它有帮助吗? –

回答

0

Redis的是一个内存数据库,这意味着所有数据必须适合到RAM中。当它没有你之间做出选择以下内容:

  1. 购买更多的内存 - 这是方法最简单,但最昂贵的(硬件而言),但它确实取决于数据的一侧,你正试图在Redis中存储。在这种情况下,你似乎不愿意这么做。
  2. 使用操作系统的虚拟内存 - 我听说过Redis用户可以通过操作系统启用内存分页/交换。虽然这种方法在技术上没有任何问题,但它可能并不适合每个人,因为这种配置的性能很难预测和稳定。
  3. Redis的实验室(Redis的家庭,企业集群& [尽职调查]我的雇主的商业提供商)提供了一个版本的Redis的使用闪存作为内存扩展。这个版本基本上可以让你将内存中的一些数据卸载到较慢的存储空间,而在大多数情况下几乎不会牺牲性能。