在rackspace cloudfiles for Node.js应用程序中为许多用户组织图像的正确方法?

在rackspace cloudfiles for Node.js应用程序中为许多用户组织图像的正确方法?,node.js,mongodb,rackspace-cloud,express,Node.js,Mongodb,Rackspace Cloud,Express,我有一个简单的Node.js应用程序。我将有用户配置文件,每个用户可以上传几个图像。图像将上载到Rackspace Cloudfiles 我目前正在使用该模块 目前的工作方式: 我向Rackit传递了一个文件,该文件将其上传到Rackspace Cloudfiles,并将CDN url返回到该图像(图像名称已由Rackit哈希)(url看起来像这样): Rackit当前将所有图像保存到一个容器中 以下是我的问题: 1) 我是否应该将每个用户的图像保存到单独的容器中(为了隐私、安全,并确保一个用

我有一个简单的Node.js应用程序。我将有用户配置文件,每个用户可以上传几个图像。图像将上载到Rackspace Cloudfiles

我目前正在使用该模块

目前的工作方式:

我向Rackit传递了一个文件,该文件将其上传到Rackspace Cloudfiles,并将CDN url返回到该图像(图像名称已由Rackit哈希)(url看起来像这样):

Rackit当前将所有图像保存到一个容器中

以下是我的问题:
1) 我是否应该将每个用户的图像保存到单独的容器中(为了隐私、安全,并确保一个用户不能删除另一个用户)

2) 只需将上面的url ref存储在数据库中并在将来以这种方式引用就足够了吗?我能指望这个url不改变吗

3) 在用户的图像前面加上用户名或将图像与给定用户绑定的哈希,这样做更有意义吗

最佳实践方法是什么


谢谢

我被推荐到这篇伟大的文章中,这篇文章很好地回答了我的问题:

总结我的用例的文章:

1) 使用多个容器。在一个容器中存储大量图像会降低速度,特别是因为在同一容器中写入图像的频率会受到限制。如果两个用户同时尝试将图像上载到同一个容器中,这可能会特别有问题。因此,每个用户使用不同的容器在这里是有意义的

2) 如果需要,您可以为组织使用伪文件夹。您可以将图像命名为(它是rackspace cloud中的一个对象)“/user123/ducks/duck_small.jpg”。在此场景中,图像的名称是整个字符串(包括斜杠)


3) 在数据库中存储对图像的引用。访问cloudfiles以列出容器的内容要比简单地从数据库中获取图像的cdn url慢得多。

FYI-Rackspace cloudfiles现在的绝对限制是每个帐户有500000个容器。