0

我正在开发一个几乎接近实时应用程序的应用程序,我将有超过 100 个用户连接到该应用程序。

现在我的问题是我有一个二进制资源,即一个 mp3 文件。我正在为每个用户创建一个单独的用户实例,应用程序工作正常,但问题是文件超过 5MB,所以如果我为 100 个用户创建单独的实例,大小将为 500MB,因此它会不断消耗内存.

我正在考虑的另一个解决方案是将此资源保持为全局(静态),但由于这是一个多用户环境应用程序并且所有用户都将不断访问该资源,我认为如果我保留这个可能会有问题所有用户的全局资源。

你有什么建议?如果您有任何其他想法,请分享。

提前致谢。

4

1 回答 1

0

在性能和内存使用方面需要权衡。

如果向所有用户提供相同的二进制资源,最好保持全局(假设用户没有访问控制来访问资源)。但不是将所有二进制资源连续存储在内存中,而是可以使用一种缓存资源的机制。

当用户第一次访问特定资源时,可以将其加载到内存中。如果在配置的时间间隔后没有任何用户访问它,则可以将其从内存中删除。

于 2012-04-07T15:50:11.753 回答