gpt4 book ai didi

Azure Redis 缓存作为数据存储?

转载 作者:行者123 更新时间:2023-12-01 09:40:08 24 4
gpt4 key购买 nike

我正在开发一个 PaaS。该应用程序将托管在 Azure 网站中。目前我使用 EF/SQL 作为具有内存缓存的数据存储。如果应用程序增长并且我需要在多个实例之间共享此缓存,我计划使用 Azure Reddis 缓存。

随着我对 Reddis 的了解越来越多,我开始喜欢我所看到的。对于我的许多领域对象来说,它确实非常快速且完美。以我的日志记录模型为例。所以现在我想知道,我可以使用 Azure Reddis 缓存作为主要数据存储吗?

名称中的缓存一词让我感到担忧。不使用时数据会被清除吗?

<小时/>
应用

该应用程序是 MVC5 应用程序。它包括一个 HtmlController 管理部分,但工作的重点是在 ApiController 中。 ApiController 将主要服务于 OData Get,但我也将提供 PUT 请求。我按请求计费,因此必须记录所有用户操作(对于 reddis 来说这是一个完美的工作)。

我的模型有三个对象,但没有关系。不经常用于身份验证的用户。 90% 的日志记录采用“即发即忘”方式,而存储则按“应用程序 key ”和“组 key ”进行分区。将请求存储“集”,并且将在内存中手动应用 Odata 动词。

<小时/>

Azure Tables 会是更好的解决方案吗?

最佳答案

您可以使用 Redis 作为主数据存储,但在 Redis 接收数据和尝试将其写入 AOF 文件之间始终存在数据丢失的小风险。如果在该窗口期间实例死亡,您将丢失该部分数据。

话虽如此,没有明确指示 Azure Redis 缓存是否进行后台保存(简单来说,就是写入磁盘)。如果不这样做,那么所有内容都会保留在服务器的内存中,这意味着如果您丢失所有服务器,您就会丢失所有数据。失去所有服务器是一种非常不同的情况,但仍然有可能。

在获得进一步信息之前,我会假设数据可能会从缓存中丢失( volatile ),并且使用另一种类型的数据存储(例如,现在使用的 SQL)来确保安全。

更新:Redis 缓存没有启用持久性,因此最初的假设是正确的。

关于Azure Redis 缓存作为数据存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25196054/

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