Difference between revisions of "Small Kyoto Cabinet and Kyoto Tycoon Notes"
From PaskvilWiki
Line 20: | Line 20: | ||
make install | make install | ||
</pre> | </pre> | ||
+ | |||
+ | == RPC API Interface == | ||
+ | |||
+ | Further on: | ||
+ | <pre>- short description | ||
+ | > input parameter, required | ||
+ | > + input parameter, optional | ||
+ | < output parameter | ||
+ | < + output parameter, might be omitted if not set</pre> | ||
+ | |||
+ | All calls accept optional <tt>DB</tt> parameter (int) that identifies DB to use. | ||
+ | |||
+ | <pre> get | ||
+ | ===== | ||
+ | - retrieve value of a record | ||
+ | > key | ||
+ | < value | ||
+ | < + xt - absolute expiration time | ||
+ | |||
+ | get_bulk | ||
+ | ========== | ||
+ | - retrieve multiple records at once | ||
+ | > + atomic - if present, attempt to store the records atomically | ||
+ | > + [input] - arbitrary keys which trail the character '_' | ||
+ | < num - number of retrieved records | ||
+ | < + [output] - data with keys trailing the character '_' | ||
+ | |||
+ | check | ||
+ | ======= | ||
+ | - checks whether record exists in DB | ||
+ | > key | ||
+ | < + vsiz - size of the record's value | ||
+ | < + xt | ||
+ | |||
+ | set | ||
+ | ===== | ||
+ | - set value of record | ||
+ | > key | ||
+ | > value | ||
+ | > + xt - expiration time as offset in seconds; if negative, the absolute value is epoch time | ||
+ | |||
+ | set_bulk | ||
+ | ========== | ||
+ | - store multiple records at once | ||
+ | > + xt | ||
+ | > + atomic - if present, attempt to store the records atomically | ||
+ | > + [input] - arbitrary records whose keys trail the character '_' | ||
+ | < num - number of stored records | ||
+ | |||
+ | add | ||
+ | ===== | ||
+ | - add a record only if it does not exist | ||
+ | > key | ||
+ | > value | ||
+ | > + xt | ||
+ | |||
+ | replace | ||
+ | ========= | ||
+ | - replace value of a record | ||
+ | > key | ||
+ | > value | ||
+ | > + xt | ||
+ | |||
+ | append | ||
+ | ======== | ||
+ | - append value to a record | ||
+ | > key | ||
+ | > value | ||
+ | > + xt | ||
+ | |||
+ | increment | ||
+ | =========== | ||
+ | - add int value to a record (treated as int) | ||
+ | > key | ||
+ | > num - the number to add | ||
+ | > + orig - origin number, 0 if omitted, 'try' for INT64MIN, 'set' for INT64MAX | ||
+ | > + xt | ||
+ | < num - resulting value | ||
+ | |||
+ | increment_double | ||
+ | ================== | ||
+ | - add double value to a record (treated as double) | ||
+ | > key | ||
+ | > num | ||
+ | > + orig - origin number, 0 if omitted, 'try' for negative infinity, 'set' for positive infinity | ||
+ | > + xt | ||
+ | |||
+ | cas | ||
+ | ===== | ||
+ | - compare and swap (i.e. set the value of record to new value only if it still has the old value) | ||
+ | > key | ||
+ | > + oval - old value; if omitted, no record is meant | ||
+ | > + nval - new value; if omitted, the record is removed | ||
+ | > + xt | ||
+ | |||
+ | seize | ||
+ | ======= | ||
+ | - retrieve value of a record and remove it atomically | ||
+ | > key | ||
+ | < + value | ||
+ | < + xt | ||
+ | |||
+ | remove | ||
+ | ======== | ||
+ | - remove a record | ||
+ | > key | ||
+ | |||
+ | remove_bulk | ||
+ | ============= | ||
+ | - remove multiple records at once | ||
+ | > + atomic - if present, attempt to store the records atomically | ||
+ | > + [input] - arbitrary records whose keys trail the character '_' | ||
+ | < num - number of removed records | ||
+ | |||
+ | clear | ||
+ | ========== | ||
+ | - remove all records in DB |
Revision as of 15:58, 15 January 2013
Kyoto Cabinet
./configure --prefix=/home/user make -j4 make check make install
Kyoto Tycoon
./configure --prefix=/home/user --with-kc=/home/user --enable-static make -j4 make check make install
RPC API Interface
Further on:
- short description > input parameter, required > + input parameter, optional < output parameter < + output parameter, might be omitted if not set
All calls accept optional DB parameter (int) that identifies DB to use.
get ===== - retrieve value of a record > key < value < + xt - absolute expiration time get_bulk ========== - retrieve multiple records at once > + atomic - if present, attempt to store the records atomically > + [input] - arbitrary keys which trail the character '_' < num - number of retrieved records < + [output] - data with keys trailing the character '_' check ======= - checks whether record exists in DB > key < + vsiz - size of the record's value < + xt set ===== - set value of record > key > value > + xt - expiration time as offset in seconds; if negative, the absolute value is epoch time set_bulk ========== - store multiple records at once > + xt > + atomic - if present, attempt to store the records atomically > + [input] - arbitrary records whose keys trail the character '_' < num - number of stored records add ===== - add a record only if it does not exist > key > value > + xt replace ========= - replace value of a record > key > value > + xt append ======== - append value to a record > key > value > + xt increment =========== - add int value to a record (treated as int) > key > num - the number to add > + orig - origin number, 0 if omitted, 'try' for INT64MIN, 'set' for INT64MAX > + xt < num - resulting value increment_double ================== - add double value to a record (treated as double) > key > num > + orig - origin number, 0 if omitted, 'try' for negative infinity, 'set' for positive infinity > + xt cas ===== - compare and swap (i.e. set the value of record to new value only if it still has the old value) > key > + oval - old value; if omitted, no record is meant > + nval - new value; if omitted, the record is removed > + xt seize ======= - retrieve value of a record and remove it atomically > key < + value < + xt remove ======== - remove a record > key remove_bulk ============= - remove multiple records at once > + atomic - if present, attempt to store the records atomically > + [input] - arbitrary records whose keys trail the character '_' < num - number of removed records clear ========== - remove all records in DB