Installing Tokyo Cabinet and Tokyo Tyrant
Posted on 14th May 2009 by SameerAs mentioned in a recent post, Tokyo Cabinet is a highly performant key/value store. Its speed leaves MySQL and other RDBMS’s in the dust because it replaces their overhead with highly optimal data structures such as hash tables. Please check the link above for more detail. If you are looking to get more performance out of your system, Tokyo Cabinet is worth trying out.
The process for installing Tokyo Cabinet is very simple. Here is what I did on CentOS 5, starting with a few required libraries:
# Tokyo cabinet requires gzip and bzip yum install gzip bzip2 bzip2-devel
I then proceeded to download and install the underlying Tokyo Cabinet
wget http://voxel.dl.sourceforge.net/sourceforge/tokyocabinet/tokyocabinet-1.4.20.tar.gz tar zxf tokyocabinet-1.4.20.tar.gz cd tokyocabinet-1.4.20 ./configure make make install
On top of Tokyo Cabinet lies Tokyo Tyrant:
wget http://voxel.dl.sourceforge.net/sourceforge/tokyocabinet/tokyotyrant-1.1.26.tar.gz tar zxf tokyotyrant-1.1.26.tar.gz cd tokyotyrant-1.1.26 ./configure make make install
Tokyo Cabinet supports four types of databases: hash, B+ tree, fixed-length, and table. Each type uses different commands, for example the commands that allows you to create, update, and read from a database are tchmgr, tcbmgr, tcfmgr, and tctmgr respectively.
The following shows how to create a hash database and manipulate it from the command line:
[root]# tchmgr create db.tch [root]# tchmgr put db.tch key1 value1 [root]# tchmgr put db.tch key2 value2 [root]# tchmgr list db.tch key1 key2 [root]# tchmgr get db2.tch key1 value1
Keep in mind Tokyo Cabinet’s database file extensions must match the type of the database.
- .tch - Hash
- .tcb - B+ tree
- .tcf - Fixed-length
- .tct - Table
In my next post, I will show how to connect to your Tokyo Cabinet database using PHP through Tokyo Tyrant.

