相关文章
更多最近更新
更多SSDB PHP 客户端 API
2019-05-03 22:22|来源: 网路
SSDB PHP 客户端 API 文档
@作者: ideawu
@更新: 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 列表. 参见 zscan().
参数
name - zset 的名字.
key_start - 参见 zscan().
score_start - 参见 zscan().
score_end - 参见 zscan().
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 列表, 反向顺序. 参见 zkeys().
参数
name - zset 的名字.
key_start - 参见 zkeys().
score_start - 参见 zkeys().
score_end - 参见 zkeys().
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.
相关问答
更多-
尝试使用以下代码:只要我们在同一页面中,就可以通过浏览器登录流程舞蹈获得用户的令牌和秘密。 Tumblr的流程与Twitter的流程非常相似,因此您可以将其用作参考: 使用Twitter实施登录 。 您可以查看Tumblr 身份验证文档中的OAuth部分以获取正确的端点。 请注意,您链接的Tumblr的PHP客户端的默认基本网址设置为"http://api.tumblr.com/"而OAuth端点(例如request_token )使用"http://www.tumblr.com" 。 为了能够使用OAuth端点,您只需更改 ...
cURL PHP API客户端(cURL PHP API client)[2024-05-04]
你发送一个无效的json, 替换curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"username\":\"XXXXX\",\"password\":\"YYYYYYY\"};"); 同 curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array( 'username'=>'XXXXX', 'password'=>'YYYYYYYYY' ))); 它不会再发生。 (但是你真正 ...你不应该做除此之外的任何事情: $client = new \Google_Client(); 自动加载应该为您处理。 所以,使用你的例子:正如错误消息所示,似乎php的open_basedir设置阻止脚本从/tmp路径读取文件。 如果您能够更改该设置,或者将应用程序/库设置中的临时路径更改为您有权访问的目录,则可能需要与托管服务提供商联系。 I solved this one beautifully! So as I was using Sentora, I searched for 'open_basedir Sentora' on Google, and found this: http://forums.sentora.org/show ...在继续之前,请检查文件autoload.php是否存在于指定路径中。 然后,您可以下载并使用发布包,因为您链接的GitHub存储库适用于composer。 发布包可以在Google发布中找到 Before continue, please check if the file autoload.php exist in the specified path. Then, you can download and use the release package, because the GitHub repos ...使用zend framework 1.12中的Google工作表类。 他们为Google Spreadsheets提供了非常精美的编码库 https://github.com/zendframework/zf1/tree/master/library/Zend/Gdata/Spreadsheets I figured out how to work this and wanted to share with you guys. As I stated in a comment, I did not thin ...根据这个问题,您可以直接将参数传递给curl。 $client->setClassConfig('Google_IO_Curl', 'options', array( CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 10 ) ); According to this issue you can pass parameters directly to curl. $client->setClassConfig( ...JWT是一个JSON Web令牌。 它本质上是OAuth,但令牌也可以解密以获取有关用户的信息。 更多信息: https : //jwt.io/ JWT is a JSON Web Token. Its essentially OAuth, but the token can also be decrypted to gain info about the user. More here: https://jwt.io/PHP Google API客户端不一致无法加载正确的凭据(PHP Google API Client Inconsistency not loading proper credentials)[2024-01-02]
在我删除了“php客户端库”并从git“ git clone -b v1-master https://github.com/google/google-api-php-client.git ”下载了一套新软件后,此问题得以解决。 并链接了下载的集合中的autoload.php文件...(“ google-api-php-client / src / Google / autoload.php ”) 以前我使用Composer来构建它...但是现在我根本没有使用Composer,Google API“PHP ...