选择语言 :

Module_Storage_Driver_Swift
    └ Module_Storage_Driver

Swift Storage驱动器

驱动类型为OpenStack Object Storage (Swift)

API - Module_Storage_Driver_Swift

继承自父类的方法和变量
see
http://www.openstack.org/software/openstack-storage/
author
呼吸二氧化碳 jonwang@myqee.com
category
Module
package
Storage
copyright
Copyright © 2008-2013 myqee.com
license
http://www.myqee.com/license.html

$this->__construct( $config_name = 'default')

初始化对象

配置可以是一个数值也可以是一个字符串,例如

 $config = array
 (
     'driver'        => 'Swift',
     'driver_config' => 'https://username:password@localhost:8080/v2.0?region=test&tenant_name=default&warehouses=mytest&prefix=test',
 );
 $storage = new Storage($config);

数值形式

 $config = array
 (
     '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);

参数列表

参数 类型 描述 默认值
$config_name string | array $config_name 配置名或数组 string(7) "default"

$this->get( $key )

取得数据

参数列表

参数 类型 描述 默认值
$key string/array $key
返回值
  • mixed

$this->set( $key , $value = null)

存数据

参数列表

参数 类型 描述 默认值
$key string/array 支持多存
$value $data Value 多存时此项可空 null
返回值
  • boolean

$this->delete( $key )

删除指定key的缓存,若$key===true则表示删除全部

参数列表

参数 类型 描述 默认值
$key string $key

$this->delete_all( )

删除全部

返回值
  • boolean

$this->get_response( $uri , $method , $headers = array ( ), $query = array ( ), $body = null, $chunk_size = 10240)

获取一个请求

参数列表

参数 类型 描述 默认值
$uri string $url
$method string $method
$headers array $headers array(0)
$query array $query array(0)
$body string $body null
$chunk_size int $chunk_size integer 10240
返回值
  • string

$this->read( $fp )

获取HTTP协议内容

将返回

array ( 'header' => array(), 'code' => 200, 'proto' => 'HTTP/1.1', 'body' => '', )

参数列表

参数 类型 描述 默认值
$fp fsockopen $fp
返回值
  • array

$this->connection( )

返回连接对象

返回值
  • resource

$this->get_connection_hash( $is_token_host = false)

获取连接HASH

参数列表

参数 类型 描述 默认值
$is_token_host string $is_token_host bool false
返回值
  • string

$this->fp( $protocol , $host , $port , $timeout )

连接服务器

参数列表

参数 类型 描述 默认值
$protocol string $host
$host int $port
$port int $timeout
$timeout unknown
返回值
  • resource fsockopen returns a file pointer which may be used

$this->get_token( )

获取token

返回值
  • string

$this->get_real_token_v1( )

获取v1的swift的token


$this->get_real_token_v2( )

获取v2的swift的token


$this->build_request_line( )


$this->build_headers( $headers )

将数组头信息转成字符

参数列表

参数 类型 描述 默认值
$headers array $headers
返回值
  • string

Storage_Driver_Swift::close_all_connect( )

关闭所有链接


Storage_Driver_Swift::set_connection( $hash , $fp )

设置可服用的连接

参数列表

参数 类型 描述 默认值
$hash string 连接hash
$fp $fp Resource fsockopen returns a file pointer which may be used

Storage_Driver_Swift::unset_connection( $hash )

移除连接

参数列表

参数 类型 描述 默认值
$hash string 连接hash

$this->set_prefix( $prefix )

设置前缀

参数列表

参数 类型 描述 默认值
$prefix string $prefix
返回值
  • $this