Redis缓存和直接使用内存的比较

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (1648)

我还没有使用Redis,但我听说过它,并计划将其作为缓存存储使用。

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

var cache = {
    key: {

    },
    key: {

    }
    ...
}

Redis

有什么优势?

提问于
用户回答回答于

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

  • Redis可以被应用程序的所有进程访问,可能运行在多个节点上(本地内存无法实现)。
  • Redis内存存储非常高效,并在单独的过程中完成。如果应用程序在内存被垃圾收集的平台上运行(node.js,java等),它允许处理更大的内存缓存/存储。在实践中,非常大的堆用垃圾收集语言表现不佳。
  • 如果需要,Redis可以将数据保存在磁盘上。
  • Redis不仅仅是一个简单的缓存:它提供了各种数据结构,各种项目驱逐策略,阻塞队列,pub / sub,原子性,Lua脚本等等。
  • Redis可以使用主/从机制来复制其活动,以实现高可用性。

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

扫码关注云+社区

领取腾讯云代金券