gpt4 book ai didi

c# - 从 Web 应用程序创建锁的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 19:44:29 26 4
gpt4 key购买 nike

我有一个可以调整图像大小的网络应用程序。重新调整大小的图像被写入磁盘以缓存它们。防止多个同时请求生成相同图像的最佳方法是什么?

有几件事需要注意,我们有数百万张图片(以 TB 为单位)。一段时间未查看的缓存图像将被删除。我们有一个网络农场,但每个网络服务器都有自己的本地缓存(原件存储在另一台服务器上)。一旦生成调整大小的图像,我们还会将它们放入二级缓存中,以便其他网络服务器可以在那里检查图像是否被缓存,如果是,则将其复制到本地。

我考虑过使用锁(我发布了一个我正在考虑使用 here 的类)。但这显然不适用于第二层缓存,我不确定在 Web 服务器上使用锁通常是否是个好主意(虽然我不确定为什么,只是一堆模糊的引用这是个坏主意)。

我还考虑过编写一个临时文件,以便在开始创建图像之前进行检查,但我担心 Windows 无法在 100% 的时间内正确清理该文件(锁定问题等)。

欢迎任何想法。

最佳答案

您是否考虑为此使用中间件,例如 MSMQ 或 ActiveMQ?一旦向 Web 服务器提交了图像调整大小请求,它就会进入队列。一个单独的应用程序将检查队列、调整图像大小并将其保存到缓存中。

关于c# - 从 Web 应用程序创建锁的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7395692/

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