Swift Storage 是 openstack 开发的一套非常优秀的云存储方案,地址 http://www.openstack.org/software/openstack-storage/
通过它,你可以部署一个属于自己的云存储方案,它是基于key-value储存对象的。比如新浪SAE的云存储就是使用这个搭建的,具有非常稳定可靠的使用表现。
MyQEE 提供的 Storage 可以支持数据库驱动、文件驱动、Redis驱动以及Swift驱动,目前几乎还没有可以支持Swift协议的框架,迈启PHP框架通过驱动的方式扩展支持Swift协议,走在了云存储的前沿。
MyQEE紧跟Swift的脚本,继OpenStack提供相关的token V2.0接口后,MyQEE对Swift的驱动进行更新,目前已支持V2.0的Token接口。
Storage的使用方法:
(
'driver' => 'Swift',
'driver_config' => 'https://username:password@localhost:8080/v2.0?region=test&tenant_name=default&warehouses=mytest&prefix=test',
);
$storage = new Storage($config);
// 写入
$storage->set('test/123', 'hello');
// 读取
$storage->get('test/123');
以上代码也可以写成:
(
'driver' => 'Swift',
'driver_config' => array
(
'host' => 'localhost', // 服务器IP或域名
'user' => 'username', // 用户名
'pass' => 'password', // 密码(key)
'warehouses' => 'mytest', // 储存仓库,类似数据库的库,可不设置,默认为 default
// 以下是token接口为v2.0的时候必须
'tenant_name' => 'default', // Tenant 名称
'region' => 'test', // Region
// 以下为可选参数
'https' => true, // true || false , 默认 false
'token_api_version' => 'v2.0', // 版本,不设置则默认 v2.0
'port' => 8080, // 端口,默认http 为 80,https 为 443
'prefix' => 'test', // key的前缀,默认为空
),
);
$storage = new Storage($config);
// 写入
$storage->set('test/123', 'hello');
// 读取
$storage->get('test/123');