gpt4 book ai didi

c# - Azure 函数和缓存

转载 作者:可可西里 更新时间:2023-11-01 07:51:43 25 4
gpt4 key购买 nike

我们计划开发一个 Azure 函数,其输入触发器是服务总线消息,输出是 Blob 存储。服务总线消息将包含图像 URL,该函数会将图像大小调整为预定义的分辨率,并将上传到 Azure Blob 存储。

图像大小应调整到的分辨率存储在数据库中,Azure 函数需要调用数据库以了解输入消息中图像应使用的分辨率。该分辨率实际上是根据输入消息的来源配置的主数据。

进行数据库调用将是一个昂贵的调用,因为每次调用都必须访问数据库。有什么办法可以缓存数据并在不调用数据库的情况下使用它。就像内存缓存一样?

最佳答案

您可以自由地使用在其他 .NET 应用程序中使用的常用方法:

  • 您可以将其缓存在内存中。最简单的方法就是声明一个静态字典并将数据库值放入其中(如果需要,请使用并发字典)。缓存的值将被重复用于在同一实例上运行的所有后续 Function 执行。如果实例空闲5分钟,或者App横向扩展为额外的实例,则需要重新读取数据库;

  • 您可以使用分布式缓存,例如Redis,通过使用来自 Function 代码的 SDK。可能会好一点,因为您保留了函数的无状态性质,但可能会花费更多一点。表存储是 Redis 的可行替代方案,但 API 更有限。

Azure Functions 本身没有“缓存”功能,无需任何额外代码即可使用。

关于c# - Azure 函数和缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47722722/

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