我创建了一个提供图像的网络服务。这将永远是单向通信。从服务获取图像的一方永远不会更改图像。
它有多个来源,有些来源可能很远,连接不良。我已经为它创建了一个内存缓存,但我还想有一个磁盘缓存,以便更长时间地存储图像。我有点不确定执行此操作的最佳方法。
首先,我所有的来源都是网络服务器,所以我真的不知道如何检查我想使用的图像的最后修改日期(例如),以查看文件是否已更改。
其次,如何最好地存储本地缓存?只需将文件放在文件夹中并将日期与原始来源进行比较?或者,也许将所有时间戳与所有图像一起存储在一个 txt 文件中,以避免检查文件。或者,也许将它们存储在本地 SQL Express 数据库中?
通常,图像不是很大。大多数约为200kb。但是,时不时会有 7+ mb。最大的问题是,将托管服务的某些位置的连接非常糟糕,并且它们需要多次使用相同的图像。没有真正的性能要求,我只是想让它尽可能地响应,对于与我们的中央服务器有可怕连接的位置。
我无法安装任何“真正的”缓存系统。它必须是我可以在我的代码中处理的东西。