PHP Unconference Europe 2015

La classe TokyoTyrant

(PECL tokyo_tyrant >= 0.1.0)

Introduction

La classe principale Tokyo Tyrant

Synopsis de la classe

TokyoTyrant {
/* Constantes */
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 ;
/* Méthodes */
public number add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant connectUri ( string $uri )
public __construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant copy ( string $path )
public string ext ( string $name , int $options , string $key , string $value )
public array fwmKeys ( string $prefix , int $max_recs )
public mixed get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public int num ( void )
public TokyoTyrant out ( mixed $keys )
public TokyoTyrant put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant putCat ( mixed $keys [, string $value ] )
public TokyoTyrant putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant putNr ( mixed $keys [, string $value = NULL ] )
public mixed putShl ( string $key , string $value , int $width )
public mixed restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int size ( string $key )
public array stat ( void )
public mixed sync ( void )
public TokyoTyrant tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed vanish ( void )
}

Constantes pré-définies

Constantes TokyoTyrant

TokyoTyrant::RDBDEF_PORT

Le port par défaut de la base de données Tokyo Tyrant

TokyoTyrant::RDBQC_STREQ

La chaîne est égale à

TokyoTyrant::RDBQC_STRINC

La chaîne est inclue dans

TokyoTyrant::RDBQC_STRBW

La chaîne commence par

TokyoTyrant::RDBQC_STREW

La chaîne termine par

TokyoTyrant::RDBQC_STRAND

La chaîne inclut tous les motifs dans

TokyoTyrant::RDBQC_STROR

La chaîne inclut au moins un motif dans

TokyoTyrant::RDBQC_STROREQ

La chaîne est égale à au moins un motif dans

TokyoTyrant::RDBQC_STRRX

La chaîne correspond à l'expression rationnelle suivante

TokyoTyrant::RDBQC_NUMEQ

Le nombre est égale à

TokyoTyrant::RDBQC_NUMGT

Le nombre est plus grand que

TokyoTyrant::RDBQC_NUMGE

Le nombre est supérieur ou égal à

TokyoTyrant::RDBQC_NUMLT

Le nombre est plus petit que

TokyoTyrant::RDBQC_NUMLE

Le nombre est inférieur ou égal à

TokyoTyrant::RDBQC_NUMBT

Le nombre est entre les 2 motifs suivants

TokyoTyrant::RDBQC_NUMOREQ

Le nombre est égal à au moins un motif dans

TokyoTyrant::RDBQC_NEGATE

Drapeau négatif

TokyoTyrant::RDBQC_NOIDX

Drapeau correspondant à aucun index

TokyoTyrant::RDBQO_STRASC

Chaîne ascendante

TokyoTyrant::RDBQO_STRDESC

Chaîne descendante

TokyoTyrant::RDBQO_NUMASC

Nombre ascendant

TokyoTyrant::RDBQO_NUMDESC

Nombre descendant

TokyoTyrant::RDBIT_LEXICAL

Chaîne lexicale

TokyoTyrant::RDBIT_DECIMAL

Chaîne décimale

TokyoTyrant::RDBIT_TOKEN

Motif d'index inversé (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_QGRAM

Index QGRAM inversé (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_OPT

optimisation

TokyoTyrant::RDBIT_VOID

void

TokyoTyrant::RDBIT_KEEP

Conservation de l'index existant

TokyoTyrant::RDBQCFTS_PH

Recherche full-text avec la phrase suivante (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

Recherche full-text contenant tous les motifs suivants (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_OR

Recherche full-text contenant au moins un motif dans (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_EX

Recherche full-text contenant l'expression composée suivante (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

Recherche méta en union entre des enregistrements (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_OR

Recherche méta en intersection entre des enregistrements (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_EX

Recherche méta en différence entre des enregistrements (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBT_RECON

Si l'on doit se reconnecter en cas d'échec de la connexion. Il est recommandé d'utiliser ce paramètre pour les connexions persistantes

TokyoTyrant::RDBXOLCK_REC

Verrouillage d'enregistrement

TokyoTyrant::RDBXOLCK_GLB

Verrouillage globale

TokyoTyrant::RDBREC_INT

Enregistrement de type entier

TokyoTyrant::RDBREC_DBL

Enregistrement de type double

TokyoTyrant::TTE_SUCCESS

succès

TokyoTyrant::TTE_INVALID

Opération invalide

TokyoTyrant::TTE_NOHOST

L'hôte n'a pas été trouvé

TokyoTyrant::TTE_REFUSED

Connexion refusée

TokyoTyrant::TTE_SEND

Erreur émise

TokyoTyrant::TTE_RECV

Erreur reçue

TokyoTyrant::TTE_KEEP

L'enregistrement existe

TokyoTyrant::TTE_NOREC

Aucun enregistrement trouvé

TokyoTyrant::TTE_MISC

Erreur diverse

Sommaire

add a note add a note

User Contributed Notes 1 note

up
0
Min He
4 years ago
TokyoTyrant::RDBQC_STREQ is case sensitive. The key in TokyoCabinet is case sensitive too.

For instance:

<?php
$tt
->put("test",array("column1"=>"data1"));
$tt->put("Test",array("Column1"=>"data1"));
?>

added 2 rows in tc.

<?php
$query
=$tt->getQuery();
$query->addCond("Column1", TokyoTyrant::RDBQC_STREQ, "data1");
$query->search();
?>

there will be only one result, and it's the row with key="Test".
To Top