检查Cloud Files中是否存在对象(PHP API)

jul*_*lio 6 php cloudfiles rackspace-cloud

我刚开始使用Rackspace Cloud Files的PHP API.到目前为止一切都那么好 - 但我使用它作为一个穷人的内存缓存,存储序列化数据的键/值对.

我的应用程序试图通过其键(API语言中的"名称")使用以下内容获取现有的缓存对象:

$obj = $this->container->get_object($key);
Run Code Online (Sandbox Code Playgroud)

问题是,如果对象不存在,API会抛出致命错误而不是简单地返回false.通过API执行此操作的"正确"方法可能是执行此操作

$objs = $this->container->list_objects();
Run Code Online (Sandbox Code Playgroud)

然后$key在该列表中检查我的值.但是,这似乎比false从get_object请求返回更多的时间/ CPU密集.

有没有办法在云文件中执行"搜索对象"或"检查对象是否存在"?

谢谢

Til*_*ill 4

我向他们发送了拉取请求,希望它能被包含在内。

https://github.com/rackspace/php-cloudfiles/pull/35

我的拉取请求包含一个示例,对于您来说它类似于:

$object = new CF_Object($this->container, 'key');
if ($object->exists() === false) {
    echo "The object '{$object->name}' does not exist.";
}
Run Code Online (Sandbox Code Playgroud)