我还没有使用过Redis,但我听说过它,并打算尝试将其作为缓存存储。

我听说Redis使用内存作为缓存存储数据库,所以如果我使用变量作为对象或字典数据类型来存储数据,会有什么区别?喜欢:

var cache = {
    key: {

    },
    key: {

    }
    ...
}

Redis有什么优势?

最佳答案

Redis是一个远程数据结构服务器。这肯定比仅将数据存储在本地内存中要慢(因为它涉及套接字往返来获取/存储数据)。但是,它也带来了一些有趣的属性:

  • 您可以在应用程序的所有进程中访问Redis,它们可能运行在多个节点上(某些本地内存无法实现)。
  • Redis内存存储非常有效,并且在单独的过程中完成。如果应用程序在其内存被垃圾回收的平台(node.js,java等)上运行,则它可以处理更大的内存缓存/存储。实际上,非常大的堆在使用垃圾收集的语言时效果不佳。
  • 如果需要,Redis可以将数据持久存储在磁盘上。
  • Redis不仅仅是一个简单的缓存:它提供各种数据结构,各种项目逐出策略,阻止队列,发布/订阅,原子性,Lua脚本等...
  • Redis可以使用主/从机制复制其 Activity ,以实现高可用性。

  • 基本上,如果您需要应用程序在共享相同数据的多个节点上扩展,则将需要Redis(或任何其他远程键/值存储)之类的东西。

    10-01 03:31
    查看更多