亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
SSDB數(shù)據(jù)庫使用手冊(cè) / SSDB PHP程序api文檔

SSDB PHP程序api文檔

SSDB PHP 客戶端 API 文檔

  • @更新: 2014-11-05

SSDB 是一個(gè)高性能 NoSQL 數(shù)據(jù)庫, 支持 zset 數(shù)據(jù)結(jié)構(gòu), 用于替代 Redis. 官方網(wǎng)站是 http://ssdb.io. 本文檔介紹了 SSDB 的 PHP 客戶端 API.

注意: SSDB 所使用的名詞 "hashmap", "hash", "map" 表示相同的意思.

類 SimpleSSDB

快速開始

<?php
include_once('SSDB.php');
try{
    $ssdb = new SimpleSSDB('127.0.0.1', 8888);
}catch(SSDBException $e){
    die(LINE . ' ' . $e->getMessage());
}
$ret = $ssdb->set('key', 'value');
if($ret === false){
    // error!
}
echo $ssdb->get('key');

錯(cuò)誤處理

如果無法連接到 SSDB 服務(wù)器, SimpleSSDB 將拋出異常. 大多數(shù)的方法(除了少數(shù)幾個(gè)例外)通過返回 false 來標(biāo)明出錯(cuò). 所以要使用強(qiáng)制等于(===)來判斷返回值.

如果出現(xiàn)網(wǎng)絡(luò)錯(cuò)誤, 所有的方法將會(huì)拋出 SSDBException 異常.

注意: 因?yàn)閷?shí)現(xiàn)的原因, 請(qǐng)保證所有的參數(shù)加起來不超過 10MB 大小.

方法

SimpleSSDB::__construct

說明

創(chuàng)建 SimpleSSDB 的實(shí)例, 并連接到 SSDB 服務(wù)器. 如果無法連接到服務(wù)器, 將拋出異常.

參數(shù)

  • host - SSDB 服務(wù)器的主機(jī)名或者 IP.
  • port - SSDB 服務(wù)器的端口號(hào).
  • timeout_ms - 可選, 連接超時(shí)時(shí)間, 和發(fā)送接收數(shù)據(jù)的超時(shí)時(shí)間, 單位毫秒. 默認(rèn)是 2000 ms.

返回值

SimpleSSDB 的實(shí)例.

示例

$ssdb = new SimpleSSDB('127.0.0.1', 8888);

auth

Since: 1.7.0.0

說明

配置密碼, 之后將用于向服務(wù)器校驗(yàn). 這個(gè)校驗(yàn)不是立即進(jìn)行的, 而是等你執(zhí)行第一條命令的時(shí)候才發(fā)給服務(wù)器. 注意, 密碼是明文傳輸?shù)?

參數(shù)

  • password -

返回值

出錯(cuò)則返回 false, 否則返回 null.

示例

$ssdb->auth('very-strong-password');

set

說明

設(shè)置指定 key 的值內(nèi)容.

參數(shù)

  • key -
  • value -

返回值

出錯(cuò)則返回 false, 其它值表示正常.

示例

$ssdb->set('key', 'value');

setx

說明

設(shè)置指定 key 的值內(nèi)容, 同時(shí)設(shè)置存活時(shí)間.

參數(shù)

  • key -
  • value -
  • ttl - 存活時(shí)間(秒)

返回值

出錯(cuò)則返回 false, 其它值表示正常.

示例

$ssdb->setx('key', 'value', 60);

setnx

說明

當(dāng) key 不存在時(shí), 設(shè)置指定 key 的值內(nèi)容. 如果已存在, 則不設(shè)置.

參數(shù)

  • key -
  • value -

返回值

出錯(cuò)則返回 false, 1: value 已經(jīng)設(shè)置, 0: key 已經(jīng)存在, 不更新.

示例

$ssdb->setnx('key', 'value');

expire

說明

設(shè)置 key(只針對(duì) KV 類型) 的存活時(shí)間.

參數(shù)

  • key -
  • ttl - 存活時(shí)間(秒)

返回值

出錯(cuò)則返回 false. 如果 key 存在并設(shè)置成功, 返回 1, 如果 key 不存在, 返回 0.

示例

$ssdb->expire('key', 60);

ttl

說明

返回 key(只針對(duì) KV 類型) 的存活時(shí)間.

參數(shù)

  • key -

返回值

出錯(cuò)則返回 false, 否則返回 key 的存活時(shí)間(秒), -1 表示沒有設(shè)置存活時(shí)間.

示例

$ssdb->ttl('key');

get

說明

獲取指定 key 的值內(nèi)容.

參數(shù)

  • key -

返回值

如果 key 不存在則返回 null, 如果出錯(cuò)則返回 false, 否則返回 key 對(duì)應(yīng)的值內(nèi)容.

示例

$ssdb->get('key');

getset

說明

更新 key 對(duì)應(yīng)的 value, 并返回更新前的舊的 value.

參數(shù)

  • key -
  • value -

返回值

如果 key 不存在則返回 null, 如果出錯(cuò)則返回 false, 否則返回 key 對(duì)應(yīng)的值內(nèi)容.

示例

$ssdb->getset('key', 'value');

del

說明

刪除指定的 key.

參數(shù)

  • key -

返回值

如果出錯(cuò)則返回 false, 其它值表示正常. 你無法通過返回值來判斷被刪除的 key 是否存在.

示例

$ssdb->del('key');

incr

從 1.7.0.1 起, 如果 value 不能轉(zhuǎn)換成整數(shù), incr 會(huì)返回錯(cuò)誤.

說明

使 key 對(duì)應(yīng)的值增加 num. 參數(shù) num 可以為負(fù)數(shù). 如果原來的值不是整數(shù)(字符串形式的整數(shù)), 它會(huì)被先轉(zhuǎn)換成整數(shù).

參數(shù)

  • key -
  • num - 可選, 必須是有符號(hào)整數(shù), 默認(rèn)是 1.

返回值

如果出錯(cuò)則返回 false, 否則返回新的值.

示例

$ssdb->incr('key', 1);

exists

說明

判斷指定的 key 是否存在.

參數(shù)

  • key -

返回值

如果存在, 返回 true, 否則返回 false.

示例

$ssdb->exists('key');

getbit

說明

獲取字符串內(nèi)指定位置的位值(BIT).

參數(shù)

  • key -
  • offset - 位偏移

返回值

返回位值(0 或 1), 如果 key 不存在或者偏移超過活字符串長度范圍, 返回 0.

示例

$ssdb->getbit('key', 9);

setbit

說明

設(shè)置字符串內(nèi)指定位置的位值(BIT), 字符串的長度會(huì)自動(dòng)擴(kuò)展.

參數(shù)

  • key -
  • offset - 位偏移, 取值范圍 [0, 1073741824]
  • val - 0 或 1

返回值

返回原來的位值. 如果 val 不是 0 或者 1, 返回 false.

示例

$ssdb->setbit('key', 9, 1);

bitcount

說明

計(jì)算字符串的子串所包含的位值為 1 的個(gè)數(shù). 若 start 是負(fù)數(shù), 則從字符串末尾算起. 若 end 是負(fù)數(shù), 則表示從字符串末尾算起(包含). 類似 Redis 的 bitcount

參數(shù)

  • key -
  • start - 可選, 子串的字節(jié)偏移
  • end - 可選

返回值

返回位值為 1 的個(gè)數(shù). 出錯(cuò)返回 false.

示例

$ssdb->bitcount('key', 2, 10);

countbit

說明

計(jì)算字符串的子串所包含的位值為 1 的個(gè)數(shù). 若 start 是負(fù)數(shù), 則從字符串末尾算起. 若 size 是負(fù)數(shù), 則表示從字符串末尾算起, 忽略掉那么多字節(jié).

參數(shù)

  • key -
  • start - 可選, 子串的字節(jié)偏移
  • size - 可選, 子串的長度(字節(jié)數(shù)), 默認(rèn)為到字符串最后一個(gè)字節(jié)

返回值

返回位值為 1 的個(gè)數(shù). 出錯(cuò)返回 false.

示例

$ssdb->countbit('key', 2, 10);

substr

說明

獲取字符串的子串. 若 start 是負(fù)數(shù), 則從字符串末尾算起. 若 size 是負(fù)數(shù), 則表示從字符串末尾算起, 忽略掉那么多字節(jié)(類似 PHP 的 substr()).

參數(shù)

  • key -
  • start - 可選, int, 子串的字節(jié)偏移
  • size - 可選, int, 子串的長度(字節(jié)數(shù)), 默認(rèn)為到字符串最后一個(gè)字節(jié)

返回值

字符串的子串.

示例

$ssdb->substr('key', 2, 10);

strlen

說明

計(jì)算字符串的長度(字節(jié)數(shù)).

參數(shù)

  • key -

返回值

返回字符串的長度, key 不存在則返回 0.

示例

$ssdb->strlen('key');

keys/rkeys

說明

列出處于區(qū)間 (key_start, key_end] 的 key 列表.

("", ""] 表示整個(gè)區(qū)間.

參數(shù)

  • key_start - 返回的起始 key(不包含), 空字符串表示 -inf.
  • key_end - 返回的結(jié)束 key(包含), 空字符串表示 +inf.
  • limit - 最多返回這么多個(gè)元素.

返回值

如果出錯(cuò)則返回 false, 否則返回包含 key 的數(shù)組.

示例

$ssdb->keys('a', 'z', 10);

scan

說明

列出處于區(qū)間 (key_start, key_end] 的 key-value 列表.

("", ""] 表示整個(gè)區(qū)間.

參數(shù)

  • key_start - 返回的起始 key(不包含), 空字符串表示 -inf.
  • key_end - 返回的結(jié)束 key(包含), 空字符串表示 +inf.
  • limit - 最多返回這么多個(gè)元素.

返回值

如果出錯(cuò)則返回 false, 否則返回包含 key-value 的數(shù)關(guān)聯(lián)組.

示例

$ssdb->scan('a', 'z', 10);
遍歷 key-value 對(duì)列表
$start = ''; 
$limit = 1000;
while(1){
    $kvs = $ssdb->scan($start, '', $limit);
    if(!$kvs){
        break;
    }
    // do something on key-value pairs...
    $keys = array_keys(array_slice($kvs, -1, 1, true));
    $max_key = $keys[0];
    $start = $max_key;
}

rscan

說明

列出處于區(qū)間 (key_start, key_end] 的 key-value 列表, 反向順序.

("", ""] 表示整個(gè)區(qū)間.

參數(shù)

  • key_start - 返回的起始 key(不包含), 空字符串表示 +inf.
  • key_end - 返回的結(jié)束 key(包含), 空字符串表示 -inf.
  • limit - 最多返回這么多個(gè)元素.

返回值

如果出錯(cuò)則返回 false, 否則返回包含 key-value 的數(shù)關(guān)聯(lián)組.

示例

$ssdb->rscan('a', 'z', 10);

multi_set

說明

批量設(shè)置一批 key-value.

參數(shù)

  • kvs - 包含 key-value 的關(guān)聯(lián)數(shù)組 .

返回值

出錯(cuò)則返回 false, 其它值表示正常.

示例

$ssdb->multi_set(array(
    'a' => 1,
    'b' => 2,
));

multi_get

說明

批量獲取一批 key 對(duì)應(yīng)的值內(nèi)容.

參數(shù)

  • keys - 包含 key 的數(shù)組 .

返回值

如果出錯(cuò)則返回 false, 否則返回包含 key-value 的關(guān)聯(lián)數(shù)組, 如果某個(gè) key 不存在, 則它不會(huì)出現(xiàn)在返回?cái)?shù)組中.

示例

$ssdb->multi_get(array('k1', 'k2'));