gpt4 book ai didi

amazon-web-services - Redis——它是如何提高性能的?

转载 作者:可可西里 更新时间:2023-11-01 11:47:24 27 4
gpt4 key购买 nike

我是网络开发领域的新手,最近才了解计算机系统中的内存层次结构。我最近遇到了 Redis,并且很想在一个小型网络应用程序中试用它。但在我这样做之前,我想知道 Redis 将如何提高性能?到目前为止,从我读到的内容来看,Redis 似乎是一个“内存中”数据存储,这是否意味着每当用户从服务器请求数据,而不是从数据库中获取数据(假设 Redis 数据存储已经填充了所需的数据)可以通过直接从服务器内存访问数据来满足请求吗?具体来说,如果我有一个后端服务器托管在 AWS 上的 Web 应用程序,并且数据库存储在 MLAB 上,那么每当用户请求数据时,而不是查询将请求重定向到 MLAB 的服务器,它现在可以直接从服务器获取数据而不用去 MLAB 了吗?另外,在内存中,这是否意味着数据存储在我的 AWS 服务器的 RAM 中?

最后,这与缓存有何不同?

非常感谢!

最佳答案

好吧,Redis 用作缓存,与大多数传统缓存的不同之处在于,你有其他不错的结构,如散列、集合、列表、键上的 TTL、hyperlologs 等等,而不仅仅是键值对。

你对 Redis 的定义是正确的,但要考虑到如果你想将数据从 MLAB 数据库移动到 Redis,你必须设计一些过程来使 Redis 在数据库中发生的每次更新中保持更新。因此,来自您的应用程序的每个查询都将使用 Redis 来获取数据,但除此之外,您将需要一个进程来根据数据库的更改来更新 Redis,因此如果您使用您的应用程序来更新数据库(并且没有其他外部部件可以更新你的数据库),每次你从你的网络应用程序获得更新时,你必须更新数据库和 Redis,或者有一个命令/脚本来检测数据库中每次发生更新并正确更新 Redis。

AWS 还提供 Redis 服务,例如 ElasticCache https://aws.amazon.com/elasticache/?nc1=h_ls所以基本上,您拥有应用程序的 AWS ECS 实例不使用 RAM,而是使用可以在另一台物理机器上运行的 ElasticCache 服务。

最后,Redis 将数据存储在内存中,它使用转储文件来保存部分数据以防崩溃,它还提供持久化模式

关于amazon-web-services - Redis——它是如何提高性能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49290734/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com