Bri*_*ian 8 .net c# asp.net locking
我有一个重新调整图像大小的Web应用程序.重新调整大小的图像将写入磁盘以缓存它们.防止多个同时请求生成相同图像的最佳方法是什么?
有几点需要注意,我们有数百万张图片(以兆兆字节为单位).删除了一段时间未查看的缓存图像.我们有一个Web场,但每个Web服务器都有自己的本地缓存(原件存储在另一台服务器上).我们还将重新调整大小的图像放置在第二层缓存中,以便其他Web服务器可以检查图像是否缓存,如果是,则将其复制到本地.
我考虑过使用锁(我发布了一个我正考虑在这里使用的课程).但是,这显然不会与第二级高速缓存工作,我不知道如果是在一般一个好主意,一个Web服务器使用锁的(虽然我不知道为什么,只是一堆含糊引用这是一个坏主意).
我还考虑在开始创建映像之前编写一个我可以检查的临时文件,但我担心Windows不会在100%的时间内正确清理文件(锁定问题等).
任何想法都表示赞赏.
您是否考虑过为此使用中间件,例如 MSMQ 或 ActiveMQ?一旦向 Web 服务器提交了图像调整大小请求,该请求就会进入队列。一个单独的应用程序将检查队列,调整图像大小并将其保存到缓存中。
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |