2017-06-13 99 views
0

在Redis的文档以下是说关于BGSAVE事件的内存使用量增加Redis占用了太多内存,为什么我们使用它?

如果你是在一个非常写重应用程序中使用Redis的,同时节省了RDB文件在磁盘或重写AOF日志Redis的可能最多使用2倍于通常使用的内存。

Redis是一个内存数据库,它占用了太多的内存和内存是昂贵的,我们为什么使用它? (我的英文不好)

+2

想象一下法拉利,有人问为什么要使用它,如果它消耗了这么多的气...与Redis相同的答案 - 速度。 –

+0

@ItamarHaber哈哈,你是对的! – Doom

+0

也许我会写一个SQL模块来解决这个内存问题@itamarhaber – RedFilter

回答

0

为什么Redis?

Redis的在数据库中创建世界一个新的类别。它结合了最好的 的内存,无模式的设计以及能够适应您的数据需求而优化的数据 结构和通用模块。 的 结果是最拿手的,高性能,多用途数据库 这就大大方便地像一个简单的键/值数据存储,但提供 非常简单复杂的功能。

除了完全在内存中,Redis还通过复制和备份启用了数据持久性 和高可用性。

  • Redis的简化应用开发

Redis的数据结构提供了内置的操作过程数据 最佳在数据库级别而不是应用水平。 与其他简单的k/v存储不同,使用Redis的应用程序可以使用简单的命令执行复杂功能,例如计算集交集或范围 分析。 Redis的独特架构在 更清洁,更优雅的代码用更少的线,更快的执行时间, 更好的应用性能和更好的CPU,I/O和网络 利用率。

  • 专为高性能

Redis的是建立以提供最低的延迟(< 1毫秒)的最高吞吐量(百万 操作/秒),用最少的 系统资源。 Redis的无与伦比的性能来源于C语言编写的内部优势,并且通过复杂性优化执行。与其他k/v存储不同,Redis允许在对象内部访问离散的 元素,消除了序列化/反序列化和处理开销。基于一个单线程锁自由 架构,它支持一个易于解析网络协议, 流水线为减少延迟和加速命令执行和 连接池下安装/拆卸开销。

  • Redis是一个有远见的选择

Redis的模块是插件或扩展的Redis展开Redis的到 将任何数据处理和分析的情况。使用Redis 模块,您不再需要维护和运行专门的数据库以满足特定的处理需求,您只需从 范围的开源或专有Redis模块中进行选择即可。 Redis模块 解决了从搜索, 二级索引,本机JSON处理到机器学习模型 服务和概率数据结构的广泛数据处理方案。

+1

但它占用的内存太多 – Doom

+1

@liujingzhao,就像它自己声明的那样,它是In-Memory数据库,所以显然需要Memory。 – LuFFy