Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
KyotoTycoon client library for Perl5
Perl Perl6 Lua
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
author
lib
t
xt
.gitignore
Build.PL
Changes
LICENSE
META.json
README.md
cpanfile

README.md

NAME

Cache::KyotoTycoon - KyotoTycoon client library

SYNOPSIS

use Cache::KyotoTycoon;

my $kt = Cache::KyotoTycoon->new(host => '127.0.0.1', port => 1978);
$kt->set('foo' => bar');
$kt->get('foo'); # => 'bar'

DESCRIPTION

KyotoTycoon.pm is KyotoTycoon client library for Perl5.

THIS MODULE IS IN ITS BETA QUALITY. THE API MAY CHANGE IN THE FUTURE.

ERROR HANDLING POLICY

This module throws exception if got Server Error.

CONSTRUCTOR OPTIONS

  • 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

METHODS

  • $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.

AUTHOR

Tokuhiro Matsuno

SEE ALSO

  • [KyotoTycoon](http://fallabs.com/kyototycoon/)
  • http://fallabs.com/mikio/tech/promenade.cgi?id=99

LICENSE

Copyright (C) Tokuhiro Matsuno

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Something went wrong with that request. Please try again.