用例:Redis与MongoDB

2020年12月31日19:42:00 发表评论 72 次浏览

介绍

Redis和MongoDB都是流行的高性能" NoSQL"替代品, 可替代MySQL等传统关系数据库。这些用例探讨了它们之间的区别。了解每种方案的优缺点, 并找到更多信息, 哪种方案最适合你的项目。

相关文章:

  • 在Windows Server 2016上安装和使用MongoDB
  • 在Linux服务器上安装和运行MongoDB
  • Redis简介
  • 在notlogy Linux云服务器上安装Redis

用例:概述

Redis是一个键值存储, 它以类似于字典或哈希的灵活结构存储数据。

Redis将数据存储在内存中, 这使其速度非常快, 因为不必从磁盘检索数据。这使得Redis成为所谓的"热数据"的绝佳选择, "热数据"需要即时访问, 而无需永久存储。

MongoDB稍微类似于传统的关系数据库。 MongoDB将数据存储在无模式的, 类似于JSON的文档中, 可以使用MongoDB的类似于SQL的查询语言进行访问。

方案1:会话缓存

在这种情况下, 用户需要设置一个系统来存储网站访问者的会话缓存。这将在24小时内保留访问者的会话数据(包括访问者看到的页面以及他们查看的项目)。

Redis是此用户的最佳选择。由于Redis不会将数据写入物理磁盘, 因此它是"热数据"的极佳解决方案, 该数据需要保留很短的时间, 但不能永久存储。

Redis的快速响应时间和轻量级的数据结构也使其成为存储会话数据的绝佳选择。

方案2:查询灵活性

在这种情况下, 用户希望存储客户数据, 并计划以多种方式查询该数据。

MongoDB是此项目的最佳选择。 MongoDB的灵活数据模式意味着用户可以存储有关客户的各种数据, 而不必担心创建新的表字段。

此外, MongoDB提供了一组功能强大的查询工具, 这些工具使用户可以用许多不同的方式查询数据, 类似于传统的SQL" join"语句。

方案3:扩展

对于这种情况, 用户正在计划未来的大量增长, 并且需要能够扩大其实施范围。

在扩展方面, MongoDB是不二之选。 MongoDB比Redis支持更多的扩展方法, 部分原因是Redis的增长受到物理机上RAM数量的限制。尽管当然可以扩大Redis安装的规模, 但是使用MongoDB可以使此过程更简单, 更稳定。

方案4:效果

在这种情况下, 用户需要数据库解决方案中尽可能快的性能, 并且愿意在其他方面做出折衷来实现它。

由于它将所有数据存储在内存中, 因此Redis的性能速度无与伦比。尽管MongoDB相当快, 但是Redis的基准显然更快。

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: