Cache::KyotoTycoon - KyotoTycoon client library
use Cache::KyotoTycoon;
my $kt = Cache::KyotoTycoon->new(host => '127.0.0.1', port => 1978);
$kt->set('foo' => bar');
$kt->get('foo'); # => 'bar'
KyotoTycoon.pm is KyotoTycoon client library for Perl5.
THIS MODULE IS IN ITS BETA QUALITY. THE API MAY CHANGE IN THE FUTURE.
This module throws exception if got Server Error.
-
timeout
Timeout value for each request in seconds.
Default: 1 second
-
host
Host name of server machine.
Default: '127.0.0.1'
-
port
Port number of server process.
Default: 1978
-
db
DB name or id.
Default: 0
-
$kt->db()
Getter/Setter of DB name/id.
-
my $cursor: Cache::KyotoTycoon::Cursor = $kt->make_cursor($cursor_number: Int);
Create new cursor object. This method returns instance of Cache::KyotoTycoon::Cursor.
-
my $res = $kt->echo($args)
The server returns $args. This method is useful for testing server.
$args is hashref.
Return: the copy of $args.
-
$kt->report()
Get server report.
Return: server status information in hashref.
-
my $output = $kt->play_script($name[, \%input]);
Call a procedure of the script language extension.
$name: the name of the procedure to call. \%input: (optional): arbitrary records.
Return: response of the script in hashref.
-
my $info = $kt->status()
Get database status information.
Return: database status information in hashref.
-
$kt->clear()
Remove all elements for the storage.
Return: Not a useful value.
-
$kt->synchronize($hard:Bool, $command);
Synchronize database with file system.
$hard: call fsync() or not.
$command: call $command in synchronization state.
Return: 1 if succeeded, 0 if $command returns false.
-
$kt->set($key, $value, $xt);
Store $value to $key.
$xt: expiration time. If $xt>0, expiration time in seconds from now. If $xt<0, the epoch time. It is never remove if missing $xt.
Return: not a useful value.
-
my $ret = $kt->add($key, $value, $xt);
Store record. This method is not store if the $key is already in the database.
$xt: expiration time. If $xt>0, expiration time in seconds from now. If $xt<0, the epoch time. It is never remove if missing $xt.
Return: 1 if succeeded. 0 if $key is already in the db.
-
my $ret = $kt->replace($key, $value, $xt);
Store the record, ignore if the record is not exists in the database.
$xt: expiration time. If $xt>0, expiration time in seconds from now. If $xt<0, the epoch time. It is never remove if missing $xt.
Return: 1 if succeeded. 0 if $key is not exists in the database.
-
my $ret = $kt->append($key, $value, $xt);
Store the record, append the $value to existent record if already exists entry.
$xt: expiration time. If $xt>0, expiration time in seconds from now. If $xt<0, the epoch time. It is never remove if missing $xt.
Return: not useful value.
-
my $ret = $kt->increment($key, $num, $xt);
$num: incremental
Return: value after increment.
-
my $ret = $kt->increment_double($key, $num, $xt);
$num: incremental
Return: value after increment.
-
my $ret = $kt->cas($key, $oval, $nval, $xt);
compare and swap.
$oval: old value $nval: new value
Return: 1 if succeeded, 0 if failed.
-
$kt->remove($key);
Remove $key from database.
Return 1 if removed, 0 if record does not exists.
-
my $val = $kt->get($key);
Get $key from database.
Return: the value from database in scalar context. ($value, $xt) in list context. undef or empty list if not exists in database.
-
$kt->set_bulk(\%values);
Store multiple values in one time.
Return: not useful value.
-
$kt->remove_bulk(\@keys);
Remove multiple keys in one time.
Return: not useful value.
-
my $hashref = $kt->get_bulk(\@keys);
Get multiple values in one time.
Return: records in hashref.
-
$kt->vacuum([$step]);
Scan the database and eliminate regions of expired records.
input: step: (optional): the number of steps. If it is omitted or not more than 0, the whole region is scanned.
Return: not useful.
-
my $hashref = $kt->match_prefix($prefix, $max);
Get list of matching keys.
Return: records in hashref.
-
my $hashref = $kt->match_regex($regex, $max);
Get list of matching keys.
Return: records in hashref.
-
my $hashref = $kt->match_similar($origin, $range, $utf8, $max);
Get list of matching keys.
Return: records in hashref.
Tokuhiro Matsuno <tokuhirom AAJKLFJEF@ GMAIL COM>
[KyotoTycoon](http://fallabs.com/kyototycoon/)
http://fallabs.com/mikio/tech/promenade.cgi?id=99
Copyright (C) Tokuhiro Matsuno
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.