Overview

Namespaces

  • None
  • sinacloud
    • sae

Classes

  • SaeADPNS
  • SaeAPNS
  • SaeChannel
  • SaeDeferredJob
  • SaeFetchInternal
  • SaeKV
  • SaeMail
  • SaeMysql
  • SaeSegment
  • SaeTAdvance
  • SaeTaskQueue
  • SaeTClientV2
  • SaeTOAuthV2
  • SaeVCode
  • vDisk

Exceptions

  • OAuthException
  • Overview
  • Namespace
  • Class

Class SaeKV

SAE KV 服务 API

<?php
$kv = new SaeKV();

// 初始化SaeKV对象
$ret = $kv->init("accesskey"); //访问授权应用的数据
var_dump($ret);

// 增加key-value
$ret = $kv->add('abc', 'aaaaaa');
var_dump($ret);

// 更新key-value
$ret = $kv->set('abc', 'bbbbbb');
var_dump($ret);

// 替换key-value
$ret = $kv->replace('abc', 'cccccc');
var_dump($ret);

// 获得key-value
$ret = $kv->get('abc');
var_dump($ret);

// 删除key-value
$ret = $kv->delete('abc');
var_dump($ret);

// 一次获取多个key-values
$keys = array();
array_push($keys, 'abc1');
array_push($keys, 'abc2');
array_push($keys, 'abc3');
$ret = $kv->mget($keys);
var_dump($ret);

// 前缀范围查找key-values
$ret = $kv->pkrget('abc', 3);
var_dump($ret);

// 循环获取所有key-values
$ret = $kv->pkrget('', 100);
while (true) {
   var_dump($ret);
   end($ret);
   $start_key = key($ret);
   $i = count($ret);
   if ($i < 100) break;
   $ret = $kv->pkrget('', 100, $start_key);
}

// 获取选项信息
$opts = $kv->get_options();
print_r($opts);

// 设置选项信息 (关闭默认urlencode key选项)
$opts = array('encodekey' => 0);
$ret = $kv->set_options($opts);
var_dump($ret);

错误代码及错误提示消息: - 0 "Success" - 10 "AccessKey Error" - 20 "Failed to connect to KV Router Server" - 21 "Get Info Error From KV Router Server" - 22 "Invalid Info From KV Router Server" - 30 "KV Router Server Internal Error" - 31 "KVDB Server is uninited" - 32 "KVDB Server is not ready" - 33 "App is banned" - 34 "KVDB Server is closed" - 35 "Unknown KV status" - 40 "Invalid Parameters" - 41 "Interaction Error (%d) With KV DB Server" - 42 "ResultSet Generation Error" - 43 "Out Of Memory" - 44 "SaeKV constructor was not called" - 45 "Key does not exist"

Package: sae
Author: Chen Lei simpcl2008@gmail.com
Version: $Id$
Located at saekv.class.php
Methods summary
public
# __construct( integer $timeout = 3000 )

构造函数

构造函数

Parameters

$timeout
KV操作超时时间,默认为3000ms
public boolean
# init( $accesskey = "" )

初始化Sae KV 服务 若不加参数,则使用本应用的Kvdb数据,若传入被授权应用的AccessKey,则使用 被授权应用的Kvdb

初始化Sae KV 服务 若不加参数,则使用本应用的Kvdb数据,若传入被授权应用的AccessKey,则使用 被授权应用的Kvdb

Returns

boolean
public string|boolean
# get( string $key )

获得key对应的value

获得key对应的value

Parameters

$key
长度小于MAX_KEY_LENGTH字节

Returns

string|boolean

成功返回value值,失败返回false 时间复杂度 O(log N)

public boolean
# set( string $key, string $value )

更新key对应的value

更新key对应的value

Parameters

$key
长度小于MAX_KEY_LENGTH字节,当不设置encodekey选项时,key中不允许出现非可见字符
$value
长度小于MAX_VALUE_LENGTH

Returns

boolean

成功返回true,失败返回false 时间复杂度 O(log N)

public boolean
# add( string $key, string $value )

增加key-value对,如果key存在则返回失败

增加key-value对,如果key存在则返回失败

Parameters

$key
长度小于MAX_KEY_LENGTH字节,当不设置encodekey选项时,key中不允许出现非可见字符
$value
长度小于MAX_VALUE_LENGTH

Returns

boolean

成功返回true,失败返回false 时间复杂度 O(log N)

public boolean
# replace( string $key, string $value )

替换key对应的value,如果key不存在则返回失败

替换key对应的value,如果key不存在则返回失败

Parameters

$key
长度小于MAX_KEY_LENGTH字节,当不设置encodekey选项时,key中不允许出现非可见字符
$value
长度小于MAX_VALUE_LENGTH

Returns

boolean

成功返回true,失败返回false 时间复杂度 O(log N)

public boolean
# delete( string $key )

删除key-value

删除key-value

Parameters

$key
长度小于MAX_KEY_LENGTH字节

Returns

boolean

成功返回true,失败返回false 时间复杂度 O(log N)

public array|boolean
# mget( array $ary )

批量获得key-values

批量获得key-values

Parameters

$ary
一个包含多个key的数组,数组长度小于等于MAX_MGET_SIZE

Returns

array|boolean

成功返回key-value数组,失败返回false 时间复杂度 O(m * log N), m为获取key-value对的个数

public array|boolean
# pkrget( string $prefix_key, integer $count, string $start_key )

前缀范围查找key-values

前缀范围查找key-values

Parameters

$prefix_key
前缀,长度小于MAX_KEY_LENGTH字节
$count
前缀查找最大返回的key-values个数,小于等于MAX_PKRGET_SIZE
$start_key
在执行前缀查找时,返回大于该$start_key的key-values;默认值为空字符串(即忽略该参数)

Returns

array|boolean

成功返回key-value数组,失败返回false 时间复杂度 O(m + log N), m为获取key-value对的个数

public integer
# errno( )

获得错误代码

获得错误代码

Returns

integer
返回错误代码
public string
# errmsg( )

获得错误提示消息

获得错误提示消息

Returns

string
返回错误提示消息字符串
public array
# get_options( )

获取选项值

获取选项值

Returns

array

成功返回选项数组,失败返回false array(1) { "encodekey" => 1 // 默认为1 // 1: 使用urlencode编码key;0:不使用urlencode编码key }

public boolean
# set_options( array $options )

设置选项值

设置选项值

Parameters

$options

array (1) { "encodekey" => 1 // 默认为1 // 1: 使用urlencode编码key;0:不使用urlencode编码key }

Returns

boolean
成功返回true,失败返回false
Constants summary
string EMPTY_PREFIXKEY

空KEY前缀

空KEY前缀

# ''
integer MAX_MGET_SIZE

mget获取的最大KEY个数

mget获取的最大KEY个数

# 32
integer MAX_PKRGET_SIZE

pkrget获取的最大KEY个数

pkrget获取的最大KEY个数

# 100
integer MAX_KEY_LENGTH

KEY的最大长度

KEY的最大长度

# 200
integer MAX_VALUE_LENGTH

VALUE的最大长度 (4 * 1024 * 1024)

VALUE的最大长度 (4 * 1024 * 1024)

# 4194304
API documentation generated by ApiGen