# The TokyoTyrant class

(PECL tokyo_tyrant >= 0.1.0)

## Introduction

The main Tokyo Tyrant class

## Class synopsis

TokyoTyrant {
/* Constants */
const integer RDBDEF_PORT = 1978 ;
const integer RDBQC_STREQ = 0 ;
const integer RDBQC_STRINC = 1 ;
const integer RDBQC_STRBW = 2 ;
const integer RDBQC_STREW = 3 ;
const integer RDBQC_STRAND = 4 ;
const integer RDBQC_STROR = 5 ;
const integer RDBQC_STROREQ = 6 ;
const integer RDBQC_STRRX = 7 ;
const integer RDBQC_NUMEQ = 8 ;
const integer RDBQC_NUMGT = 9 ;
const integer RDBQC_NUMGE = 10 ;
const integer RDBQC_NUMLT = 11 ;
const integer RDBQC_NUMLE = 12 ;
const integer RDBQC_NUMBT = 13 ;
const integer RDBQC_NUMOREQ = 14 ;
const integer RDBQC_NEGATE = 16777216 ;
const integer RDBQC_NOIDX = 33554432 ;
const integer RDBQO_STRASC = 0 ;
const integer RDBQO_STRDESC = 1 ;
const integer RDBQO_NUMASC = 2 ;
const integer RDBQO_NUMDESC = 3 ;
const integer RDBIT_LEXICAL = 0 ;
const integer RDBIT_DECIMAL = 1 ;
const integer RDBIT_TOKEN = 2 ;
const integer RDBIT_QGRAM = 3 ;
const integer RDBIT_OPT = 9998 ;
const integer RDBIT_VOID = 9999 ;
const integer RDBIT_KEEP = 16777216 ;
const integer RDBQCFTS_PH = 15 ;
const integer RDBQCFTS_AND = 16 ;
const integer RDBQCFTS_OR = 17 ;
const integer RDBQCFTS_EX = 18 ;
const integer RDBXO_LCKREC = 1 ;
const integer RDBXOLCK_GLB = 2 ;
const integer RDBREC_INT = 1 ;
const integer RDBREC_DBL = 2 ;
const integer RDBMS_UNION = 0 ;
const integer RDBMS_ISECT = 1 ;
const integer RDBMS_DIFF = 2 ;
const integer RDBT_RECON = 1 ;
/* Methods */
public add ( string `$key` , number `$increment` [, int `$type` = 0 ] ) : number
public connect ( string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]] ) : TokyoTyrant
public connectUri ( string `$uri` ) : TokyoTyrant
public __construct ([ string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]]] )
public copy ( string `$path` ) : TokyoTyrant
public ext ( string `$name` , int `$options` , string `$key` , string `$value` ) : string
public fwmKeys ( string `$prefix` , int `$max_recs` ) : array
public get ( mixed `$keys` ) : mixed
public getIterator ( void ) : TokyoTyrantIterator
public num ( void ) : int
public out ( mixed `$keys` ) : TokyoTyrant
public put ( mixed `$keys` [, string `$value` = NULL ] ) : TokyoTyrant
public putCat ( mixed `$keys` [, string `$value` ] ) : TokyoTyrant
public putKeep ( mixed `$keys` [, string `$value` ] ) : TokyoTyrant
public putNr ( mixed `$keys` [, string `$value` = NULL ] ) : TokyoTyrant
public putShl ( string `$key` , string `$value` , int `$width` ) : mixed
public restore ( string `$log_dir` , int `$timestamp` [, bool `$check_consistency` = `TRUE` ] ) : mixed
public setMaster ( string `$host` , int `$port` , int `$timestamp` [, bool `$check_consistency` = `TRUE` ] ) : mixed
public size ( string `$key` ) : int
public stat ( void ) : array
public sync ( void ) : mixed
public tune ( float `$timeout` [, int `$options` = TokyoTyrant::RDBT_RECON ] ) : TokyoTyrant
public vanish ( void ) : mixed
}

## Predefined Constants

## TokyoTyrant Constants

`TokyoTyrant::RDBDEF_PORT`

  The default port of the Tokyo Tyrant database

`TokyoTyrant::RDBQC_STREQ`

  string is equal to

`TokyoTyrant::RDBQC_STRINC`

  string is included in

`TokyoTyrant::RDBQC_STRBW`

  string begins with

`TokyoTyrant::RDBQC_STREW`

  string ends with

`TokyoTyrant::RDBQC_STRAND`

  string includes all tokens in

`TokyoTyrant::RDBQC_STROR`

  string includes at least one token in

`TokyoTyrant::RDBQC_STROREQ`

  string is equal to at least one token in

`TokyoTyrant::RDBQC_STRRX`

  string matches regular expressions of

`TokyoTyrant::RDBQC_NUMEQ`

  number is equal to

`TokyoTyrant::RDBQC_NUMGT`

  number is greater than

`TokyoTyrant::RDBQC_NUMGE`

  number is greater than or equal to

`TokyoTyrant::RDBQC_NUMLT`

  number is less than

`TokyoTyrant::RDBQC_NUMLE`

  number is less than or equal to

`TokyoTyrant::RDBQC_NUMBT`

  number is between two tokens of

`TokyoTyrant::RDBQC_NUMOREQ`

  number is equal to at least one token in

`TokyoTyrant::RDBQC_NEGATE`

  negation flag

`TokyoTyrant::RDBQC_NOIDX`

  no index flag

`TokyoTyrant::RDBQO_STRASC`

  string ascending

`TokyoTyrant::RDBQO_STRDESC`

  string descending

`TokyoTyrant::RDBQO_NUMASC`

  number ascending

`TokyoTyrant::RDBQO_NUMDESC`

  number descending

`TokyoTyrant::RDBIT_LEXICAL`

  lexical string

`TokyoTyrant::RDBIT_DECIMAL`

  decimal string

`TokyoTyrant::RDBIT_TOKEN`

  token inverted index (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBIT_QGRAM`

  QGRAM inverted index (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBIT_OPT`

  optimize

`TokyoTyrant::RDBIT_VOID`

  void

`TokyoTyrant::RDBIT_KEEP`

  keep existing index

`TokyoTyrant::RDBQCFTS_PH`

  full-text search with the phrase of (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_AND`

  full-text search with all tokens in (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_OR`

  full-text search with at least one token in (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_EX`

  full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_AND`

  Metasearch union between records (Tokyo Tyrant >= 1.1.33)

`TokyoTyrant::RDBQCFTS_OR`

  Metasearch intersection between records (Tokyo Tyrant >= 1.1.33)

`TokyoTyrant::RDBQCFTS_EX`

  Metasearch difference between records (Tokyo Tyrant >= 1.1.33)

`TokyoTyrant::RDBT_RECON`

  Whether to reconnect on connection failure. It is recommended to have this parameter on for persistent connections

`TokyoTyrant::RDBXOLCK_REC`

  record locking

`TokyoTyrant::RDBXOLCK_GLB`

  global locking

`TokyoTyrant::RDBREC_INT`

  record type int

`TokyoTyrant::RDBREC_DBL`

  record type float (double)

`TokyoTyrant::TTE_SUCCESS`

  success

`TokyoTyrant::TTE_INVALID`

  invalid operation

`TokyoTyrant::TTE_NOHOST`

  host not found

`TokyoTyrant::TTE_REFUSED`

  connection refused

`TokyoTyrant::TTE_SEND`

  send error

`TokyoTyrant::TTE_RECV`

  recv error

`TokyoTyrant::TTE_KEEP`

  record exist

`TokyoTyrant::TTE_NOREC`

  no record found

`TokyoTyrant::TTE_MISC`

  miscellaneous error

## Table of Contents

- TokyoTyrant::add — Adds to a numeric key
- TokyoTyrant::connect — Connect to a database
- TokyoTyrant::connectUri — Connects to a database
- TokyoTyrant::__construct — Construct a new TokyoTyrant object
- TokyoTyrant::copy — Copies the database
- TokyoTyrant::ext — Execute a remote script
- TokyoTyrant::fwmKeys — Returns the forward matching keys
- TokyoTyrant::get — The get purpose
- TokyoTyrant::getIterator — Get an iterator
- TokyoTyrant::num — Number of records in the database
- TokyoTyrant::out — Removes records
- TokyoTyrant::put — Puts values
- TokyoTyrant::putCat — Concatenates to a record
- TokyoTyrant::putKeep — Puts a record
- TokyoTyrant::putNr — Puts value
- TokyoTyrant::putShl — Concatenates to a record
- TokyoTyrant::restore — Restore the database
- TokyoTyrant::setMaster — Set the replication master
- TokyoTyrant::size — Returns the size of the value
- TokyoTyrant::stat — Get statistics
- TokyoTyrant::sync — Synchronize the database
- TokyoTyrant::tune — Tunes connection values
- TokyoTyrant::vanish — Empties the database