SSDB PHP 客户端 API 文档@更新: 2014-11-05

SSDB 是一个高性能 NoSQL 数据库, 支持 zset 数据结构, 用于替代 Redis. 官方网站是 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');

错误处理

如果无法连接到 SSDB 服务器, SimpleSSDB 将抛出异常. 大多数的方法(除了少数几个例外)通过返回 false 来标明出错. 所以要使用强制等于(===)来判断返回值.

如果出现网络错误, 所有的方法将会抛出 SSDBException 异常.

注意: 因为实现的原因, 请保证所有的参数加起来不超过 10MB 大小.

方法

SimpleSSDB::__construct

说明

创建 SimpleSSDB 的实例, 并连接到 SSDB 服务器. 如果无法连接到服务器, 将抛出异常.

参数host - SSDB 服务器的主机名或者 IP.port - SSDB 服务器的端口号.timeout_ms - 可选, 连接超时时间, 和发送接收数据的超时时间, 单位毫秒. 默认是 2000 ms.

返回值

SimpleSSDB 的实例.

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

auth

Since: 1.7.0.0

说明

配置密码, 之后将用于向服务器校验. 这个校验不是立即进行的, 而是等你执行第一条命令的时候才发给服务器. 注意, 密码是明文传输的!

参数password -

返回值

出错则返回 false, 否则返回 null.

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

set

说明

设置指定 key 的值内容.

参数key -value -

返回值

出错则返回 false, 其它值表示正常.

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

setx

说明

设置指定 key 的值内容, 同时设置存活时间.

参数key -value -ttl - 存活时间(秒)

返回值

出错则返回 false, 其它值表示正常.

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

setnx

说明

当 key 不存在时, 设置指定 key 的值内容. 如果已存在, 则不设置.

参数key -value -

返回值

出错则返回 false, 1: value 已经设置, 0: key 已经存在, 不更新.

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

expire

说明

设置 key(只针对 KV 类型) 的存活时间.

参数key -ttl - 存活时间(秒)

返回值

出错则返回 false. 如果 key 存在并设置成功, 返回 1, 如果 key 不存在, 返回 0.

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

ttl

说明

返回 key(只针对 KV 类型) 的存活时间.

参数key -

返回值

出错则返回 false, 否则返回 key 的存活时间(秒), -1 表示没有设置存活时间.

示例$ssdb->ttl('key');

get

说明

获取指定 key 的值内容.

参数key -

返回值

如果 key 不存在则返回 null, 如果出错则返回 false, 否则返回 key 对应的值内容.

示例$ssdb->get('key');

getset

说明

更新 key 对应的 value, 并返回更新前的旧的 value.

参数key -value -

返回值

如果 key 不存在则返回 null, 如果出错则返回 false, 否则返回 key 对应的值内容.

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

del

说明

删除指定的 key.

参数key -

返回值

如果出错则返回 false, 其它值表示正常. 你无法通过返回值来判断被删除的 key 是否存在.

示例$ssdb->del('key');

incr

从 1.7.0.1 起, 如果 value 不能转换成整数, incr 会返回错误.

说明

使 key 对应的值增加 num. 参数 num 可以为负数. 如果原来的值不是整数(字符串形式的整数), 它会被先转换成整数.

参数key -num - 可选, 必须是有符号整数, 默认是 1.

返回值

如果出错则返回 false, 否则返回新的值.

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

exists

说明

判断指定的 key 是否存在.

参数key -

返回值

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

示例$ssdb->exists('key');

getbit

说明

获取字符串内指定位置的位值(BIT).

参数key -offset - 位偏移

返回值

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

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

setbit

说明

设置字符串内指定位置的位值(BIT), 字符串的长度会自动扩展.

参数key -offset - 位偏移, 取值范围 [0, 1073741824]val - 0 或 1

返回值

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

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

bitcount

说明

计算字符串的子串所包含的位值为 1 的个数. 若 start 是负数, 则从字符串末尾算起. 若 end 是负数, 则表示从字符串末尾算起(包含). 类似 Redis 的 bitcount

参数key -start - 可选, 子串的字节偏移end - 可选

返回值

返回位值为 1 的个数. 出错返回 false.

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

countbit

说明

计算字符串的子串所包含的位值为 1 的个数. 若 start 是负数, 则从字符串末尾算起. 若 size 是负数, 则表示从字符串末尾算起, 忽略掉那么多字节.

参数key -start - 可选, 子串的字节偏移size - 可选, 子串的长度(字节数), 默认为到字符串最后一个字节

返回值

返回位值为 1 的个数. 出错返回 false.

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

substr

说明

获取字符串的子串. 若 start 是负数, 则从字符串末尾算起. 若 size 是负数, 则表示从字符串末尾算起, 忽略掉那么多字节(类似 PHP 的 substr()).

参数key -start - 可选, int, 子串的字节偏移size - 可选, int, 子串的长度(字节数), 默认为到字符串最后一个字节

返回值

字符串的子串.

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

strlen

说明

计算字符串的长度(字节数).

参数key -

返回值

返回字符串的长度, key 不存在则返回 0.

示例$ssdb->strlen('key');

keys/rkeys

说明

列出处于区间 (key_start, key_end] 的 key 列表.

("", ""] 表示整个区间.

参数key_start - 返回的起始 key(不包含), 空字符串表示 -inf.key_end - 返回的结束 key(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key 的数组.

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

scan

说明

列出处于区间 (key_start, key_end] 的 key-value 列表.

("", ""] 表示整个区间.

参数key_start - 返回的起始 key(不包含), 空字符串表示 -inf.key_end - 返回的结束 key(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key-value 的数关联组.

示例$ssdb->scan('a', 'z', 10);遍历 key-value 对列表$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

说明

列出处于区间 (key_start, key_end] 的 key-value 列表, 反向顺序.

("", ""] 表示整个区间.

参数key_start - 返回的起始 key(不包含), 空字符串表示 +inf.key_end - 返回的结束 key(包含), 空字符串表示 -inf.limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key-value 的数关联组.

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

multi_set

说明

批量设置一批 key-value.

参数kvs - 包含 key-value 的关联数组 .

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->multi_set(array(

'a' => 1,

'b' => 2,

));

multi_get

说明

批量获取一批 key 对应的值内容.

参数keys - 包含 key 的数组 .

返回值

如果出错则返回 false, 否则返回包含 key-value 的关联数组, 如果某个 key 不存在, 则它不会出现在返回数组中.

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

multi_del

说明

批量删除一批 key 和其对应的值内容.

参数keys - 包含 key 的数组 .

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->multi_del(array('k1', 'k2'));

hset

说明

设置 hashmap 中指定 key 对应的值内容.

参数name - hashmap 的名字.key - hashmap 中的 key.value - key 对应的值内容.

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->hset('h', 'key', 'value');

hget

说明

获取 hashmap 中指定 key 的值内容.

参数name - hashmap 的名字.key - hashmap 中的 key.

返回值

如果 key 不存在则返回 null, 如果出错则返回 false, 否则返回 key 对应的值内容.

示例$ssdb->hget('h', 'key');

hdel

说明

获取 hashmap 中的指定 key.

参数name - hashmap 的名字.key - hashmap 中的 key.

返回值

如果出错则返回 false, 其它值表示正常. 你无法通过返回值来判断被删除的 key 是否存在.

示例$ssdb->hdel('h', 'key');

hincr

从 1.7.0.1 起, 如果 value 不能转换成整数, incr 会返回错误.

说明

使 hashmap 中的 key 对应的值增加 num. 参数 num 可以为负数. 如果原来的值不是整数(字符串形式的整数), 它会被先转换成整数.

参数name - hashmap 的名字.key -num - 可选, 必须是有符号整数, 默认是 1.

返回值

如果出错则返回 false, 否则返回新的值.

示例$ssdb->hincr('h', 'key', 1);

hexists

说明

判断指定的 key 是否存在于 hashmap 中.

参数name - hashmap 的名字.key -

返回值

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

示例$ssdb->hexists('h', 'key');

hsize

说明

返回 hashmap 中的元素个数.

参数name - hashmap 的名字.

返回值

出错则返回 false, 否则返回元素的个数, 0 表示不存在 hashmap(空).

示例$ssdb->hsize('h');

hlist, hrlist

说明

列出名字处于区间 (name_start, name_end] 的 hashmap.

("", ""] 表示整个区间.

参数name_start - 返回的起始名字(不包含), 空字符串表示 -inf.name_end - 返回的结束名字(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

出错则返回 false, 返回返回包含名字的数组.

示例$ssdb->hlist('a', 'z', 10);

hkeys

说明

列出 hashmap 中处于区间 (key_start, key_end] 的 key 列表.

("", ""] 表示整个区间.

参数name - hashmap 的名字.key_start - 起始 key(不包含), 空字符串表示 -inf.key_end - 结束 key(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key 的数组.

示例$ssdb->hkeys('h', 'a', 'z', 10);

hgetall

说明

返回整个 hashmap.

参数name - hashmap 的名字.

返回值

如果出错则返回 false, 否则返回包含 key-value 的关联数组.

示例$ssdb->hgetall('h');

hscan

说明

列出 hashmap 中处于区间 (key_start, key_end] 的 key-value 列表.

("", ""] 表示整个区间.

参数name - hashmap 的名字.key_start - 返回的起始 key(不包含), 空字符串表示 -inf.key_end - 返回的结束 key(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key-value 的关联数组.

示例$ssdb->hscan('h', 'a', 'z', 10);

遍历 hash:$start = '';

while(1){

$kvs = $ssdb->hscan($name, $start, '', 10);

if(!$kvs){

break;

}

// do sth on kvs here

$keys = array_keys($kvs);

$start = $keys[count($keys) - 1];

}

hrscan

说明

列出 hashmap 中处于区间 (key_start, key_end] 的 key-value 列表, 反向顺序.

("", ""] 表示整个区间.

参数name - hashmap 的名字.key_start - 返回的起始 key(不包含), 空字符串表示 +inf.key_end - 返回的结束 key(包含), 空字符串表示 -inf.limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key-score 的关联数组.

示例$ssdb->hrscan('h', 'a', 'z', 10);

hclear

说明

删除 hashmap 中的所有 key.

参数name - hashmap 的名字.

返回值

如果出错则返回 false, 否则返回删除的 key 的数量.

示例$ssdb->hclear('h');

multi_hset

说明

批量设置 hashmap 中的 key-value.

参数name - hashmap 的名字.kvs - 包含 key-value 的关联数组 .

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->multi_hset('h', array(

'a' => 1,

'b' => 2,

));

multi_hget

说明

批量获取 hashmap 中多个 key 对应的权重值.

参数name - hashmap 的名字.keys - 包含 key 的数组 .

返回值

如果出错则返回 false, 否则返回包含 key-value 的关联数组, 如果某个 key 不存在, 则它不会出现在返回数组中.

示例$ssdb->multi_hget('h', array('k1', 'k2'));

multi_hdel

说明

批量删除 hashmap 中的 key.

参数name - hashmap 的名字.keys - 包含 key 的数组 .

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->multi_hdel('h', array('k1', 'k2'));

zset

说明

设置 zset 中指定 key 对应的权重值.

参数name - zset 的名字.key - zset 中的 key.score - 整数, key 对应的权重值

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->zset('z', 'key', 100);

zget

说明

获取 zset 中指定 key 的权重值.

参数name - zset 的名字.key - zset 中的 key.

返回值

如果 key 不存在则返回 null, 如果出错则返回 false, 否则返回 key 对应的权重值.

示例$ssdb->zget('z', 'key');

zdel

说明

获取 zset 中的指定 key.

参数name - zset 的名字.key - zset 中的 key.

返回值

如果出错则返回 false, 其它值表示正常. 你无法通过返回值来判断被删除的 key 是否存在.

示例$ssdb->zdel('hz, 'key');

zincr

说明

使 zset 中的 key 对应的值增加 num. 参数 num 可以为负数. 如果原来的值不是整数(字符串形式的整数), 它会被先转换成整数.

参数name - zset 的名字.key -num - 必须是有符号整数.

返回值

如果出错则返回 false, 否则返回新的值.

示例$ssdb->zincr('z', 'key', 1);

zexists

说明

判断指定的 key 是否存在于 zset 中.

参数name - zset 的名字.key -

返回值

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

示例$ssdb->zexists('z', 'key');

zsize

说明

返回 zset 中的元素个数.

参数name - zset 的名字.

返回值

出错则返回 false, 否则返回元素的个数, 0 表示不存在 zset(空).

示例$ssdb->zsize('z');

zlist, zrlist

说明

列出名字处于区间 (name_start, name_end] 的 zset.

("", ""] 表示整个区间.

参数name_start - 返回的起始名字(不包含), 空字符串表示 -inf.name_end - 返回的结束名字(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

出错则返回 false, 否则返回包含名字的数组.

示例$ssdb->zlist('a', 'z', 10);

zkeys

说明

列出 zset 中的 key 列表. 参见

参数name - zset 的名字.key_start - 参见score_start - 参见score_end - 参见limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key 的数组.

示例$ssdb->zkeys('z', '', 1, 100, 10);

zscan

说明

列出 zset 中处于区间 (key_start+score_start, score_end] 的 key-score 列表. 如果 key_start 为空, 那么对应权重值大于或者等于 score_start 的 key 将被返回. 如果 key_start 不为空, 那么对应权重值大于 score_start 的 key, 或者大于 key_start 且对应权重值等于 score_start 的 key 将被返回.

也就是说, 返回的 key 在 (key.score == score_start && key > key_start || key.score > score_start), 并且 key.score <= score_end 区间. 先判断 score_start, score_end, 然后判断 key_start.

("", ""] 表示整个区间.

参数name - zset 的名字.key_start - score_start 对应的 key.score_start - 返回 key 的最小权重值(可能不包含, 依赖 key_start), 空字符串表示 -inf.score_end - 返回 key 的最大权重值(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key-score 的关联数组.

示例$ssdb->zscan('z', '', 1, 100, 10);

遍历 zset:$key_start = '';

$score_start = '';

while(1){

$items = $ssdb->zscan($zname, $key_start, $score_start, '', 10);

if(!$items){

break;

}

foreach($items as $key=>$score){

// process($key, $score)...

// 记住最大的元素和它的权重

$key_start = $key;

$score_start = $score;

}

}

zrscan

说明

列出 zset 中的 key-score 列表, 反向顺序. 参见

参数name - zset 的名字.key_start - 参见score_start - 参见score_end - 参见limit - 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回包含 key-score 的关联数组.

示例$ssdb->zrscan('z', '', 100, 1, 10);

zrank, zrrank

说明

注意! 本方法可能会非常慢! 请在离线环境中使用.

返回指定 key 在 zset 中的排序位置(排名), 排名从 0 开始. zrrank 获取是是倒序排名.

参数name - zset 的名字.key -

返回值found.

出错则返回 false, null 表示 key 不存在于 zset, 否则返回排名.

示例$ssdb->zrank('z', 'k1');

zrange, zrrange

说明

注意! 本方法在 offset 越来越大时, 会越慢!

根据下标索引区间 [offset, offset + limit) 获取 key-score 对, 下标从 0 开始. zrrange 是反向顺序获取.

参数name - zset 的名字.offset - 正整数, 从此下标处开始返回. 从 0 开始.limit - 正整数, 最多返回这么多个 key-score 对.

返回值

如果出错则返回 false, 否则返回包含 key-score 的关联数组.

示例$ssdb->zrange('z', 0, 10);

zclear

说明

删除 zset 中的所有 key.

参数name - zset 的名字.

返回值

如果出错则返回 false, 否则返回删除的 key 的数量.

示例$ssdb->zclear('z');

zcount

说明

返回处于区间 [start,end] key 数量.

参数name - zset 的名字.score_start - key 的最小权重值(包含), 空字符串表示 -inf.score_end - key 的最大权重值(包含), 空字符串表示 +inf.

返回值

如果出错则返回 false, 否则返回符合条件的 key 的数量.

示例$ssdb->zcount('z', 0, 100);

zsum

说明

返回 key 处于区间 [start,end] 的 score 的和.

参数name - zset 的名字.score_start - key 的最小权重值(包含), 空字符串表示 -inf.score_end - key 的最大权重值(包含), 空字符串表示 +inf.

返回值

如果出错则返回 false, 否则返回符合条件的 score 的求和.

示例$ssdb->zsum('z', 0, 100);

zavg

说明

返回 key 处于区间 [start,end] 的 score 的平均值.

参数name - zset 的名字.score_start - key 的最小权重值(包含), 空字符串表示 -inf.score_end - key 的最大权重值(包含), 空字符串表示 +inf.

返回值

如果出错则返回 false, 否则返回符合条件的 score 的平均值.

示例$ssdb->zavg('z', 0, 100);

zremrangebyrank

说明

删除位置处于区间 [start,end] 的元素.

参数name - zset 的名字.start - (包含).end -(包含).

返回值

出错则返回 false, 否则返回被删除的元素个数.

示例$ssdb->zremrangebyrank('z', 1, 2);

zremrangebyscore

说明

删除权重处于区间 [start,end] 的元素.

参数name - zset 的名字.start - (包含).end -(包含).

返回值

出错则返回 false, 否则返回被删除的元素个数.

示例$ssdb->zremrangebyscore('z', 1, 2);

zpop_front

说明

从 zset 首部删除并返回 limit 个元素.

参数name - zset 的名字.limit - 正整数, 最多要删除并返回这么多个 key-score 对.

返回值

如果出错则返回 false, 否则返回包含 key-score 的关联数组.

示例$ssdb->zpop_front('z', 3);

zpop_back

说明

从 zset 尾部删除并返回 limit 个元素.

参数name - zset 的名字.limit - 正整数, 最多要删除并返回这么多个 key-score 对.

返回值

如果出错则返回 false, 否则返回包含 key-score 的关联数组.

示例$ssdb->zpop_back('z', 3);

multi_zset

说明

批量设置 zset 中的 key-score.

参数name - zset 的名字.kvs - 包含 key-score 的关联数组 .

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->multi_zset('z', array(

'a' => 1,

'b' => 2,

));

multi_zget

说明

批量获取 zset 中多个 key 对应的权重值.

参数name - zset 的名字.keys - 包含 key 的数组 .

返回值

如果出错则返回 false, 否则返回包含 key-score 的关联数组, 如果某个 key 不存在, 则它不会出现在返回数组中.

示例$ssdb->multi_zget('z', array('k1', 'k2'));

multi_zdel

说明

批量删除 zset 中的 key.

参数name - zset 的名字.keys - 包含 key 的数组 .

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->multi_zdel('z', array('k1', 'k2'));

qsize

说明

返回队列的长度.

参数name -

返回值

出错返回 false, 否则返回一个整数, 0 表示队列不存在(或者为空).

示例$ssdb->qsize('q');

qlist, qrlist

说明

列出名字处于区间 (name_start, name_end] 的 queue/list.

("", ""] 表示整个区间.

参数name_start - 返回的起始名字(不包含), 空字符串表示 -inf.name_end - 返回的结束名字(包含), 空字符串表示 +inf.limit - 最多返回这么多个元素.

返回值

出错则返回 false, 返回返回包含名字的数组.

示例$ssdb->qlist('a', 'z', 10);

qclear

说明

清空一个队列.

参数name -

返回值

出错返回 false.

示例$ssdb->qclear('q');

qfront

说明

返回队列的第一个元素.

参数name -

返回值

出错返回 false, 队列不存在(或者为空)则返回 null, 否则返回一个元素.

示例$ssdb->qfront('q');

qback

说明

返回队列的最后一个元素.

参数name -

返回值

出错返回 false, 队列不存在(或者为空)则返回 null, 否则返回一个元素.

示例$ssdb->qback('q');

qget

说明

返回指定位置的元素. 0 表示第一个元素, 1 是第二个 ... -1 是最后一个.

参数name -index - 可传负数.

返回值

出错返回 false, 如果指定位置不存在一个元素, 则返回 null, 否则返回一个元素.

示例$ssdb->qget('q', -2);

qset

Since: 1.7.0.0

说明

更新位于 index 位置的元素. 如果超过现有的元素范围, 会返回错误.

参数name -index - 可传负数.val -

返回值

出错则返回 false, 其它值表示正常.

示例$ssdb->qset('q', 0, 'new val');

qrange

说明

返回下标处于区域 [offset, offset + limit] 的元素.

参数name - queue 的名字.offset - 整数, 从此下标处开始返回. 从 0 开始. 可以是负数, 表示从末尾算起.limit - 正整数, 最多返回这么多个元素.

返回值

如果出错则返回 false, 否则返回数组.

示例$ssdb->qrange('q', 0, 10);

qslice

说明

返回下标处于区域 [begin, end] 的元素. begin 和 end 可以是负数

参数name -begin -end -

返回值

出错返回 false, 否则返回包含元素的数组.

示例$ssdb->qslice('q', 0, -1);

qpush

说明

本函数是 qpush_back() 的别名.

qpush_front

说明

往队列的首部添加一个或者多个元素

参数name -item - 字符串或是字符串数组.

返回值

添加元素之后, 队列的长度, 出错返回 false.

示例$ssdb->qpush_front('q', 'a');

qpush_back

说明

往队列的尾部添加一个或者多个元素

参数name -item - 字符串或是字符串数组.

返回值

添加元素之后, 队列的长度, 出错返回 false.

示例$ssdb->qpush_back('q', 'a');

qpop

说明

本函数是 qpop_front() 的别名.

qpop_front

说明

从队列首部弹出一个或者多个元素.

参数name -size - 可选, 最多从队列弹出这么多个元素

返回值

出错返回 false. 当 size 未指定或者小于等于 1 时, 队列不存在(或者为空)则返回 null, 否则删除并返回一个元素. 当 size 大于等于 2 时, 返回一个数组包含弹出的元素.

示例$ssdb->qpop_front('q');

qpop_back

说明

从队列尾部弹出一个或者多个元素.

参数name -size - 可选, 最多从队列弹出这么多个元素

返回值

出错返回 false. 当 size 未指定或者小于等于 1 时, 队列不存在(或者为空)则返回 null, 否则删除并返回一个元素. 当 size 大于等于 2 时, 返回一个数组包含弹出的元素.

示例$ssdb->qpop_back('q');

qtrim_front

说明

从队列头部删除多个元素.

参数name -size - 最多从队列删除这么多个元素

返回值

出错返回 false. 返回被删除的元素数量.

示例$ssdb->qtrim_front('q', 3);

qtrim_back

说明

从队列头部删除多个元素.

参数name -size - 最多从队列删除这么多个元素

返回值

出错返回 false. 返回被删除的元素数量.

示例$ssdb->qtrim_back('q', 3);

batch, exec

说明

批量执行一批命令. 批量命令可以减少客户端和服务器之间的交互延时, 能提高性能和响应速度.

这个特性是在客户端实现的, ssdb-server 不支持批量命令, 而是当作独立的一个命令一个命令地执行. 所有命令和参数的大小应小于 10MB.

参数

返回值

如果 exec() 出错则返回 false, 否则返回一个数组包含对应每一条命令的结果.

示例$ret = $ssdb->batch()

->set('a', 1)

->get('a')

->exec();

// 或者

$ssdb->batch();

$ssdb->set('a', 1);

$ssdb->get('a');

$ret = $ssdb->exec();

dbsize

说明

返回数据库的估计大小, 以字节为单位. 如果服务器开启了压缩, 返回压缩后的大小.

参数

返回值

出错返回 false. 返回数据库大小.

示例$ssdb->dbsize();

info

说明

返回服务器的信息.

参数opt - 可选, 可以是 cmd, leveldb

返回值

出错返回 false. 返回服务器信息的关联数组.

示例$ssdb->info();

Copyright©2013,2014 ideawu. All rights reserved.

php ssdb配置,SSDB PHP程序api文档相关推荐

  1. 微信小程序_文档_01_入门

    小程序API文档地址: https://developers.weixin.qq.com/miniprogram/dev/ 微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序.小程序 ...

  2. SpringBoot 第十篇: 用spring Restdocs创建API文档

    这篇文章将带你了解如何用spring官方推荐的restdoc去生成api文档.本文创建一个简单的springboot工程,将http接口通过Api文档暴露出来.只需要通过 JUnit单元测试和Spri ...

  3. 如何查看jsplumb.js的API文档(YUIdoc的基本使用)#华为云·寻找黑马程序员#

    [摘要] 介绍前端文档工具YUIdoc 示例代码托管在:http://www.github.com/dashnowords/blogs 一.问题描述 最近向一些同事推荐了网页中实现流程图绘制的工具库j ...

  4. mac java api文档_程序员必备 Dash for mac 各种语言和系统Api文档

    Dash for mac  5.5.0 是一款功能强大的API文档浏览器和代码片段管理器,内置了丰富的API文档,多达150多种,可以在线下载各种开发API和文档资料,可以让您集中管理API文档,包括 ...

  5. 先写API文档还是先写代码?你需要这款神器Apifox!

    代码未动,文档先行 其实大家都知道 API 文档先行的重要性,但是在实践过程中往往会遇到很多困难. 程序员最讨厌的两件事:1. 写文档,2. 别人不写文档.大多数开发人员不愿意写 API 文档的原因是 ...

  6. 还在发愁写API文档?推荐一款阿里腾讯都在用的API管理神器!

    欢迎关注方志朋的博客,回复"666"获面试宝典 前言 ❝ 程序员最讨厌的两件事:1. 写文档,2. 别人不写文档.大多数开发人员不愿意写 API 文档的原因:写文档短期收益远低于付 ...

  7. 干掉 Postman?测试接口直接生成API文档,这工具真香!

    前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下. ShowDoc一个非常适合团队的在线API文档工具,也支持用docker自建文档服务,不过 ...

  8. 干掉 Postman?测试接口直接生成API文档,这个工具我爱了

    前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下. ShowDoc一个非常适合团队的在线API文档工具,也支持用docker自建文档服务,不过 ...

  9. FreeMarker中文帮助手册API文档,基础入门学习文档

    FreeMarker中文帮助手册API文档,基础入门学习文档 分类: 编程技术 发布: bywei 浏览: 7 日期: 2011年5月28日 分享到: QQ空间 新浪微博 腾讯微博 人人网 什么是Fr ...

最新文章

  1. 机器学习面试必备 CheatSheet
  2. 欧拉回路与欧拉路(模板)
  3. Spring实现AOP的4种方式
  4. 1.9 Java 9增强的自动资源管理
  5. 你的pyc文件,泄露了你的秘密!
  6. mui ajax 传递base64,HTML5 MUI 手机预览图片,裁剪上传base64,保存数据库
  7. java虚拟机规范 51cto_java虚拟机
  8. 作者:赵永恒(1964-),男,博士,中国科学院国家天文台研究员、博士生导师...
  9. FortiGuard 被曝使用硬编码密钥和 XOR 加密通信
  10. AGG第四十二课 Blitting an image over another with transparency
  11. java可选参数_Java可选
  12. SQLi-LABS Page-4 (Challenges) Less-54-Less-65
  13. spss分析qpcr数据_qRT-PCR差异分析及P值计算
  14. 微软亚洲研究院公布12项顶级研发成果(组图)
  15. 三/五/七/九点二次平滑法
  16. 【雪野实训记录】Oracle数据库 T4作业——事务和数据库对象
  17. 基于C语言设计的一个医院叫号系统
  18. eig()函数求特征值、特征向量、归一化
  19. Algorithm negotiation fail解决
  20. linux修改主机名命令

热门文章

  1. C语言华氏-摄氏温度转换表
  2. hibernate 读取Blob字段 OutOfMemoryError
  3. java笔记之redis-缓存问题
  4. 服务化框架技术选型实践
  5. work smartenjoy life
  6. 小程序 小程序中打开其他小程序、小程序跳转其他小程序、微信群聊中打开小程序
  7. jsp70312家庭理财系统 mysql
  8. 泡一杯草晶华玫瑰桑椹破壁草本茶,好气色快到碗里来~
  9. Hadoop伪分布模式安装
  10. 速率、带宽、吞吐量、丢包率