TTserver学习文档

TtServicer.ttulmgr
create table name: create name
insert: put tname {id} [list]
select: get tname id
search  -pv tanme key option value
option: 'value%' STRBW 以此字符串开头
STREQ STRINC STREW STRAND STROR STRRX
NUMEX NUMGT NUMGE NUMLT NUMLE NUMBT NUMOREQ
STRASC STRDESC NUMASC NUMDESC
实例: 
list -pv tname 

delete: out tname id


/* 方法 */
public void get ( mixed $keys )
public int put ( string $key , array $columns )
将 一个或多个key-value对插入到数据库中, 
如果keys是字符串, 第二个参数就是对应的value, 如果第一个参数是数组, 第二个参数无 效, 是数组的时候, 数组自身维护key-value, 如果key存在, 则替换.  
返 回当前连接对象TokyoTyrant或者在失败时抛出TokyoTyrantException.  
public void out ( mixed $keys )
通 过参数指定的一个或多个key移除记录.  
keys: 一个字符串或字符串数组  
返回当前TokyoTyrant对象或在失败时抛出TokyoTyrant异常.  
public mixed setIndex ( string $column , int $type )
public int genUid ( void )
生成在当前table database内唯一的id, TableDatabase行引用使用一个数字主键.  
TokyoTyrant::size(string $key)
获 取指定key对应的value的大小.  


public TokyoTyrantIterator getIterator ( void )
获取一个迭代器, 用于迭代所有的key/value, 返回的是一个TokyoTyrantIterator对象如果 失败抛出


public TokyoTyrantQuery getQuery ( void )


public void putCat ( string $key , array $columns )
public void putKeep ( string $key , array $columns )
public void putNr ( mixed $keys [, string $value ] )
public void putShl ( string $key , string $value , int $width )




TokyoTyrant::stat(void)
返回远程数据库的统计数据, 返回值是数组形式.  
TokyoTyrant::vanish(void)
将 远程数据库清空.  
返回当前连接对象TokyoTyrant或者在失败时抛出 TokyoTyrantException. 








##################################################################  
TokyoTyrantTable类的接口, 该类继承自TokyoTyrant.  
##################################################################  
TokyoTyrantTable::add(string $key, mixed $increment[, string $type]):  
该方法table database不支持. 详细解释见TokyoTyrant::add.  
TokyoTyrantTable::genUid(void):  
生成在当前table database内唯一的id, TableDatabase行引用使用一个数字主键.  
返回唯一主键或在发生错误时抛出TokyoTyrantException.  
TokyoTyrantTable::get(mixed $keys):  
根据keys是一个整数还是一个整数数组获取数据库中的一行或多行.  
TokyoTyrantTable::getIterator(void):  
获取一个可以迭代整个数据库的迭代器.  
返回当 前连接对象TokyoTyrantTable或在错误时抛出TokyoTyrantException.  
经测试会抛出没有定义该方法异常.  
TokyoTyrantTable::getQuery(void):  
获取一个TykyoTyrantQuery查询对象用以在数据库上执行搜索.  
TokyoTyrantTable::out(mixed $keys):  
从数据库删除指定key对应的记录, keys可以是单个整数或整数数组.  
TokyoTyrantTable::put(string $key, array $columns):  
向数据库插入新的行, key是该行的主键, 如果传NULL将会自动生成一个唯一id, value是一个数组包含通 过key-value组织的行的内容.  
返回该数据插入后的主键或在错误时抛出 TokyoTyrantException.  
TokyoTyrantTable::putCat(string $key, array $columns):  
同put, 差别在于对已经存在的key, 会将对应列的值追加到原值之后.  add value['newkey']
返回该数据插入后的主键或在错误时抛出TokyoTyrantException.  
TokyoTyrantTable::putKeep(string $key, array $columns);  
和TokyoTyrant中的同名方法类似, 只不过参数类型不同.  
TokyoTyrantTable::putNr(string $key[, string $value]):   
Table database 不支持该方法.  
TokyoTyrantTable::putKeep(string $key, string $value, int $width);  
Table database 不支持该方法.  
TokyoTyrantTable::setIndex(string $column, int $type):  
给指定列设置索引, 索引类型可以是TokyoTyrant::RDBIT_*系列的常量, 传入一个 TokyoTyrant::RDBIT_VOID移除所有的索引.  
所有索引类 型包括:   
TokyoTyrant::RDBIT_LEXICAL: 0, 文本索 引.  
TokyoTyrant::RDBIT_DECIMAL: 1, 数字索 引.  
TokyoTyrant::RDBIT_TOKEN: 2, 标记倒排索 引.  
TokyoTyrant::RDBIT_QGRAM: 3, QGram 倒排索引.  
TokyoTyrant::RDBIT_OPT: 9998, 对索引优 化.  
TokyoTyrant::RDBIT_VOID: 9999, 移除索 引.  
TokyoTyrant::RDBIT_KEEP: 16777216, 保持 已有索引. 




##########################################################  
TokyoTyrantQuery类中的接口  
##########################################################  
public mixed TokyoTyrantQuery::addCond(string $name, int $op, string $expr):  
增加一个查询条件.   
name: 条件对应 的列名.  
op: 操作符, 是TokyoTyrant::RDBQC_*系列 的常量.  
expr: 表达式, 指通过op进行比较的另一个运算数.  
op可以接受的参数有:  
TokyoTyrant::RDBQC_STREQ: 0, 字 符串相等判断.  
TokyoTyrant::RDBQC_STRINC: 1, 字 符串包含判断.  
TokyoTyrant::RDBQC_STRBW: 2, 字符串 以xx开始判断.  
TokyoTyrant::RDBQC_STREW: 3, 字 符串以xx结尾判断.  
TokyoTyrant::RDBQC_STRAND: 4, $expr包含所有的右逗号(或空格)隔开部分全部都包含在目标中.  
TokyoTyrant::RDBQC_STROR: 5, $expr包 含所有的右逗号(或空格)隔开部分的其中至少一个包含在目标中.  
TokyoTyrant::RDBQC_STROREQ: 6, $expr包含所有的右逗号(或空格)隔开部分的其中某部分与目标完全相同.  
TokyoTyrant::RDBQC_STRRX: 7, 正则表达式匹配.  
TokyoTyrant::RDBQC_NUMEQ: 8, 数字等于.  
TokyoTyrant::RDBQC_NUMGT: 9, 数字大于.  
TokyoTyrant::RDBQC_NUMGE: 10, 数字大于等于.  
TokyoTyrant::RDBQC_NUMLT: 11, 数字小于.  
TokyoTyrant::RDBQC_NUMLE: 12, 数字小于等于.  
TokyoTyrant::RDBQC_NUMBT: 13, 数字范围(between), 范围涉及两个 值, 在$expr中用,隔开.  
TokyoTyrant::RDBQC_NUMOREQ: 14, 和给定的任意一个值相等即匹配, 多个值之间在$expr中用,隔开.  
TokyoTyrant::RDBQC_NEGATE: 16777216, 与给定条件不相等的.  
TokyoTyrant::RDBQC_NOIDX: 33554432, 无索引标记, 没有查到具体用法.  
public TokyoTyrantQuery::__construct(TokyoTyrantTable $table):  
通 过活动的数据库连接构建一个查询对象.  
public int TokyoTyrantQuery::count(void):  
返 回当前查询对象中所有条件过滤后的记录数量或在发生错误时抛出TokyoTyrantException.  
public array TokyoTyrantQuery::current(void):  
返回当前元素.主要用来作为php中的迭代接口.  
public string TokyoTyrantQuery::hint(void):  
获取类似于关系数据库中执行计划的文本.  
public string TokyoTyrantQuery::key(void):  
返回当前key, 主要用做php的迭代接口.  
public array TokyoTyrantQuery::metaSearch(array $queries, int $type):  
在 同一个数据库执行多个查询返回匹配记录集, 当前对象总是搜索中最左边的对象.  
type 表明的是查询的关系.参数值可以是:   
TokyoTyrant::RDBMS_UNION: 0, 并 集.  
TokyoTyrant::RDBMS_ISECT: 1, 交集.  
TokyoTyrant::RDBMS_DIFF: 2, 差集.  
public array TokyoTyrantQuery::next(void):  
返回结果集中下一条记录. 主要用做php中的迭代接口.  
public TokyoTyrantQuery TokyoTyrantQuery::out(void):  
移除query匹配的所有记录, 和search工作原理一样, 不过不是返回结果而是移除他们.  
public bool TokyoTyrantQuery::rewind(void): 
重置结果集并执行查询(如果没有执行过), 主要用做php的迭代接口.  
public array TokyoTyrantQuery::search(void):  
在表数据库上执行查询, 返回包含匹配记录的数组, 在返回的数组中, 第一级元素以主键作为key, 第二级是行数 据.  
public mixed TokyoTyrantQuery::setLimit([int $max[, int $skip]]):  
设置查询返回的最大记录数以及从哪里开始.  
public mixed setOrder ( string $name , int $type )
设置排序条件
name 排序字段
type 排序类型
   TokyoTyrant::RDBQO_STRASC - String ascending
   TokyoTyrant::RDBQO_STRDESC - String descending
   TokyoTyrant::RDBQO_NUMASC - Numberic ascending
   TokyoTyrant::RDBQO_NUMDESC - Numberic descending
public bool  TokyoTyrantQuery::valid(void):  
检查当前项的合法性, 主要用作php迭代的接口.
使用实例: 
function getClientTct($host = '192.168.2.22', $port = 9003) {  
   $tt = new TokyoTyrantTable();  
   $tt->connect($host, $port);  
   return $tt;  
}  
$client=getClientTct(); 
$query = $client->getQuery();  
        $query->addCond('name', TokyoTyrant::RDBQC_STRINC, createValue(rand(1, 5)));  
        $query->setLimit(10, 0);  
        $list=$query->search();  






##################################################  
TokyoTyrantIterator类中的接口  
################################################## 
public __construct ( mixed $object )
构造函数
public mixed current ( void )
Iterator::current — 返回当前元素
public mixed key ( void )
Iterator::key — 返回当前元素的键
public mixed next ( void )
Iterator::next — 向前移动到下一个元素
public void rewind ( void )
Iterator::rewind — 返回到迭代器的第一个元素
public bool valid ( void )
Iterator::valid — 检查当前位置是否有效
实例:
$iterator = $arrayobject->getIterator();
while($iterator->valid()) {
   echo $iterator->key() . ' => ' . $iterator->current() . "\n";
   $iterator->next();
}


##################################################  
tokyotyrantexception类中的接口  
################################################## 
/* 属性 */
protected int $code ;
/* 继承的属性 */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;


/* 继承的方法 */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )




##################################################  
TokyoTyrant类中的接口  
##################################################  
TokyoTyant::add(string $key, number $increment[, int $type = 0]):  
增加int或double值,返回值是增长之后该key对应的新值,如果key不存在则创建一个新的并以 increment参数作为初始值, type取值为TokyoTyrant::RDBREC_INT或 TokyoTyrant::RDBREC_DBL, 分别代表将increment参数的值作为int, double处理.  
TokyoTyrant::connect(string $host, [, int $port = TokyoTyrant::RDBDEF_PORT[, array $options]]:  
连接远程数据库.  
$options可以包括timeout(超时时间, 默认5.0), reconnect(默认 True), persistent(默认True)  
返回当前连接对 象, 如果失败抛出TokyoTyrantException  
TokyoTyrant::connectUri(string $uri):  
通 过Uri连接到数据库.  
uri: tcp://localhost:1978/  
返回当前连接对象或在失败时抛出TokyoTyrantException.  
TokyoTyrant::_construct([string $host[, int $port = TokyoTyrant::RDBDEF_PORT[, array $options]]]):  
构建一个新的TokyoTyrant对象.参数与connect意义相同.  
连接数据库失败时抛出TokyoTyrantException.  
TokyoTyrant::copy(string $path):   
创 建一个当前数据库的拷贝. path参数指定要拷贝到的路径, 用户必须要有文件的写权限.  
TokyoTyrant::ext(string $name, int $options, string $key, string $value):  
执行一个远程脚本扩展.指的就是启动ttserver时通过-ext指定的lua脚本文件中定义的函数.  
name: 要执行的函数名称.  
options: TokyoTyrant::RDBXO_LCKREC 用于记录锁定, TokyoTyrant::RDBXO_LCKGLB用于全局锁定.  
key: 要 传递给函数的key.  
value: 要传递给函数的value.  
返回脚本函数执行的结果.  
TokyoTyrant::fwmKeys(string $prefix, int $max_recs):  
通过key前缀匹配获取指定条数的记录.  
prefix: 用 以匹配的key前缀.  
max_recs: 返回的记录条数.  
以数组形式返回匹配到的key.  
TokyoTyrant::get(mixed $keys):  
用 于获取一个或多个值, 接受一个字符串或一个字符串数组的key.  
根据接受参数不 同, 返回单个的字符串或数组. 发生错误是抛出TokyoTyrantException, 如果key没有找到, 返回空字符串, 在传递了数组参数 时仅仅所有key都存在才会返回, 不会因为一个key找不到而返回错误.  
TokyoTyrant::getIterator(void):  
获取一个迭代器, 用于迭代所有的key/value, 返回的是一个TokyoTyrantIterator对象如果 失败抛出TokyoTyrantException.  
经测试没有迭代, 也没 有报错.  
TokyoTyrant::num(void):  
获取数据库内的记录总条数.  
TokyoTyrant::out(mixed $keys):  
通 过参数指定的一个或多个key移除记录.  
keys: 一个字符串或字符串数组  
返回当前TokyoTyrant对象或在失败时抛出TokyoTyrant异常.  
TokyoTyrant::put(mixed $keys[, string $value]):  
将 一个或多个key-value对插入到数据库中, 如果keys是字符串, 第二个参数就是对应的value, 如果第一个参数是数组, 第二个参数无 效, 是数组的时候, 数组自身维护key-value, 如果key存在, 则替换.  
返 回当前连接对象TokyoTyrant或者在失败时抛出TokyoTyrantException.  
TokyoTyrant::putCat(mixed $keys[, string $value]):  
如 果keys是数组, 将value追加到已经存在的key原值之后, 第二个参数只有在keys是字符串时有效, 如果记录不存在, 创建新的记录.  
返回当前连接对象TokyoTyrant或者在失败时抛出TokyoTyrantException.  
TokyoTyrant::putKeep(mixed $keys[, string $value]):  
向 数据库插入一个或多个key-value对, 如果keys是字符串, 第二个参数就是它对应的value, 如果第一个参数是数组, 第二个参数失 效. 如果key已经存在, 这个方法抛出一个异常标示该记录已经存在.  
返回当前连 接对象TokyoTyrant或者在失败时抛出TokyoTyrantException.  
TokyoTyrant::putNr(mixed $keys[, string $value]):  
向数据库插入一个或多个key-value, 这个方法不会等待服务端的响应.  
返回当前连接对象TokyoTyrant或者在失败时抛出TokyoTyrantException.  
TokyoTyrant::putShl(string $key, string $value, int $width):  
连接一条记录并自左端开始截掉$width个 字符.  
返回当前连接对象TokyoTyrant或者在失败时抛出 TokyoTyrantException.  
TokyoTyrant::restore(string $log_dir, int $timestamp[, bool $check_consistency = true]):  
通过update log还原数据库(这个方法不能在32位平台下使用).  
log_dir: update log的路径  
timestamp: 从 什么时候开始还原, 微秒级的时间戳  
checkconsistency: 默 认true, 是否检测一致性.  
返回当前连接对象TokyoTyrant或者在失败 时抛出TokyoTyrantException.  
TokyoTyrant::setMaster(string $host, int $port, int $timestamp[, bool $check_consistency = true]):  
指ttserver的双机模式下的从机的设置(此方法在32位平台下不能使用).  
$host: 从机地址.  
$port: 从机端口.  
$timestamp: 开始的时间戳.  
$checkconsistency: 默认 true, 是否检测一致性.  
返回当前连接对象 TokyoTyrant或者在失败时抛出TokyoTyrantException.  
TokyoTyrant::size(string $key):  
获 取指定key对应的value的大小.  
返回对应value的大小或在失败时抛出一个 TokyoTyrantException.  


TokyoTyrant::stat(void):  
返回远程数据库的统计数据, 返回值是数组形式.  


TokyoTyrant::sync(void):  
在物理设备上同步数据库. 不懂具体含义.  
TokyoTyrant::tune(float $timeout[, int $options = TokyoTyrant::RDBT_RECON]):   
调整数据库连接参数.  
timeout: 默 认5.0.  
options: 基于位的参数调整, 可以是0或 TokyoTyrant::RDBT_RECON, 建议不要修改第二个参数.  
返 回当前连接对象TokyoTyrant或者在失败时抛出TokyoTyrantException.  
TokyoTyrant::vanish(void):  
将 远程数据库清空.  
返回当前连接对象TokyoTyrant或者在失败时抛出 TokyoTyrantException. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值