API¶
Serializers¶
- KT_BINARY¶
Default value serialization. Serializes values as UTF-8 byte-strings and deserializes to unicode.
- KT_JSON¶
Serialize values as JSON (encoded as UTF-8).
- KT_MSGPACK¶
Uses
msgpack
to serialize and deserialize values.
- KT_NONE¶
No serialization or deserialization. Values must be byte-strings.
- KT_PICKLE¶
Serialize and deserialize using Python’s pickle module.
- TT_TABLE¶
Special serializer for use with TokyoTyrant’s remote table database. Values are represented as dictionaries.
Kyoto Tycoon client¶
- class KyotoTycoon(host='127.0.0.1', port=1978, serializer=KT_BINARY, decode_keys=True, timeout=None, connection_pool=False, default_db=0)¶
- Parameters:
host (str) – server host.
port (int) – server port.
serializer – serialization method to use for storing/retrieving values. Accepts
KT_BINARY
,KT_JSON
,KT_MSGPACK
,KT_NONE
orKT_PICKLE
.decode_keys (bool) – allow unicode keys, encoded as UTF-8.
timeout (int) – socket timeout (optional).
connection_pool (bool) – use a connection pool to manage sockets.
default_db (int) – default database to operate on.
Client for interacting with Kyoto Tycoon database.
- close(allow_reuse=True)¶
- Parameters:
allow_reuse (bool) – when the connection pool is enabled, this flag indicates whether the connection can be reused. For unpooled clients this flag has no effect.
Close the connection to the server.
- close_all()¶
When using the connection pool, this method can close all client connections.
- get_bulk(keys, db=None, decode_values=True)¶
- Parameters:
keys (list) – keys to retrieve
db (int) – database index
decode_values (bool) – decode values using the configured serialization scheme.
- Returns:
result dictionary
Efficiently retrieve multiple key/value pairs from the database. If a key does not exist, it will not be present in the result dictionary.
- get_bulk_details(keys, db=None, decode_values=True)¶
- Parameters:
keys (list) – keys to retrieve
db (int) – database index
decode_values (bool) – decode values using the configured serialization scheme.
- Returns:
List of tuples:
(db index, key, value, expire time)
Like
get_bulk()
, but the return value is a list of tuples with additional information for each key.
- get_bulk_raw(db_key_list, decode_values=True)¶
- Parameters:
db_key_list – a list of 2-tuples to retrieve:
(db index, key)
decode_values (bool) – decode values using the configured serialization scheme.
- Returns:
result dictionary
Like
get_bulk()
, except it supports fetching key/value pairs from multiple databases. The input is a list of 2-tuples consisting of(db, key)
and the return value is a dictionary ofkey: value
pairs.
- get_bulk_raw_details(db_key_list, decode_values=True)¶
- Parameters:
db_key_list – a list of 2-tuples to retrieve:
(db index, key)
decode_values (bool) – decode values using the configured serialization scheme.
- Returns:
List of tuples:
(db index, key, value, expire time)
Like
get_bulk_raw()
, but the return value is a list of tuples with additional information for each key.
- get(key, db=None)¶
- Parameters:
key (str) – key to look-up
db (int) – database index
- Returns:
deserialized value or
None
if key does not exist.
Fetch and (optionally) deserialize the value for the given key.
- get_bytes(key, db=None)¶
- Parameters:
key (str) – key to look-up
db (int) – database index
- Returns:
raw bytestring value or
None
if key does not exist.
Fetch the value for the given key. The resulting value will not be deserialized.
- set_bulk(data, db=None, expire_time=None, no_reply=False, encode_values=True)¶
- Parameters:
data (dict) – mapping of key/value pairs to set.
db (int) – database index
expire_time (int) – expiration time in seconds
no_reply (bool) – execute the operation without a server acknowledgment.
encode_values (bool) – serialize the values using the configured serialization scheme (e.g.,
KT_MSGPACK
).
- Returns:
number of keys that were set, or
None
ifno_reply
.
Efficiently set multiple key/value pairs. If given, the provided
db
andexpire_time
values will be used for all key/value pairs being set.
- set_bulk_raw(data, no_reply=False, encode_values=True)¶
- Parameters:
data (list) – a list of 4-tuples:
(db, key, value, expire time)
no_reply (bool) – execute the operation without a server acknowledgment.
encode_values (bool) – serialize the values using the configured serialization scheme (e.g.,
KT_MSGPACK
).
- Returns:
number of keys that were set, or
None
ifno_reply
.
Efficiently set multiple key/value pairs. Unlike
set_bulk()
, this method can be used to set key/value pairs in multiple databases in a single call, and each key can specify its own expire time.
- set(key, value, db=None, expire_time=None, no_reply=False)¶
- Parameters:
key (str) – key to set
value – value to store (will be serialized using serializer)
db (int) – database index
expire_time (int) – expiration time in seconds
no_reply (bool) – execute the operation without a server acknowledgment.
- Returns:
number of rows set (1)
Set a single key/value pair.
- set_bytes(key, value, db=None, expire_time=None, no_reply=False)¶
- Parameters:
key (str) – key to set
value – raw value to store
db (int) – database index
expire_time (int) – expiration time in seconds
no_reply (bool) – execute the operation without a server acknowledgment.
- Returns:
number of rows set (1)
Set a single key/value pair without encoding the value.
- remove_bulk(keys, db=None, no_reply=False)¶
- Parameters:
keys (list) – list of keys to remove
db (int) – database index
no_reply (bool) – execute the operation without a server acknowledgment.
- Returns:
number of keys that were removed
- remove_bulk_raw(db_key_list, no_reply=False)¶
- Parameters:
db_key_list – a list of 2-tuples to retrieve:
(db index, key)
no_reply (bool) – execute the operation without a server acknowledgment.
- Returns:
number of keys that were removed
Like
remove_bulk()
, but allows keys to be removed from multiple databases in a single call.
- remove(key, db=None, no_reply=False)¶
- Parameters:
key (str) – key to remove
db (int) – database index
no_reply (bool) – execute the operation without a server acknowledgment.
- Returns:
number of rows removed
- script(name, data=None, no_reply=False, encode_values=True, decode_values=True)¶
- Parameters:
name (str) – name of lua function to call
data (dict) – mapping of key/value pairs to pass to lua function.
no_reply (bool) – execute the operation without a server acknowledgment.
encode_values (bool) – serialize values passed to lua function.
decode_values (bool) – deserialize values returned by lua function.
- Returns:
dictionary of key/value pairs returned by function
Execute a lua function. Kyoto Tycoon lua extensions accept arbitrary key/value pairs as input, and return a result dictionary. If
encode_values
isTrue
, the input values will be serialized. Likewise, ifdecode_values
isTrue
the values returned by the Lua function will be deserialized using the configured serializer.
- clear(db=None)¶
- Parameters:
db (int) – database index
- Returns:
boolean indicating success
Remove all keys from the database.
- status(db=None)¶
- Parameters:
db (int) – database index
- Returns:
status fields and values
- Return type:
dict
Obtain status information from the server about the selected database.
- report()¶
- Returns:
status fields and values
- Return type:
dict
Obtain report on overall status of server, including all databases.
- ulog_list()¶
- Returns:
a list of 3-tuples describing the files in the update log.
Returns a list of metadata about the state of the update log. For each file in the update log, a 3-tuple is returned. For example:
>>> kt.ulog_list() [('/var/lib/database/ulog/kt/0000000037.ulog', '67150706', datetime.datetime(2019, 1, 4, 1, 28, 42, 43000)), ('/var/lib/database/ulog/kt/0000000038.ulog', '14577366', datetime.datetime(2019, 1, 4, 1, 41, 7, 245000))]
- ulog_remove(max_dt)¶
- Parameters:
max_dt (datetime) – maximum datetime to preserve
- Returns:
boolean indicating success
Removes all update-log files older than the given datetime.
- synchronize(hard=False, command=None, db=None)¶
- Parameters:
hard (bool) – perform a “hard” synchronization
command (str) – command to run after synchronization
db (int) – database index
- Returns:
boolean indicating success
Synchronize the database, optionally executing the given command upon success. This can be used to create hot backups, for example.
- vacuum(step=0, db=None)¶
- Parameters:
step (int) – number of steps, default is 0
db (int) – database index
- Returns:
boolean indicating success
- add(key, value, db=None, expire_time=None, encode_value=True)¶
- Parameters:
key (str) – key to add
value – value to store
db (int) – database index
expire_time (int) – expiration time in seconds
encode_value (bool) – serialize the value using the configured serialization method.
- Returns:
boolean indicating if key could be added or not
- Return type:
bool
Add a key/value pair to the database. This operation will only succeed if the key does not already exist in the database.
- replace(key, value, db=None, expire_time=None, encode_value=True)¶
- Parameters:
key (str) – key to replace
value – value to store
db (int) – database index
expire_time (int) – expiration time in seconds
encode_value (bool) – serialize the value using the configured serialization method.
- Returns:
boolean indicating if key could be replaced or not
- Return type:
bool
Replace a key/value pair to the database. This operation will only succeed if the key alreadys exist in the database.
- append(key, value, db=None, expire_time=None, encode_value=True)¶
- Parameters:
key (str) – key to append value to
value – data to append
db (int) – database index
expire_time (int) – expiration time in seconds
encode_value (bool) – serialize the value using the configured serialization method.
- Returns:
boolean indicating if value was appended
- Return type:
bool
Appends data to an existing key/value pair. If the key does not exist, this is equivalent to
set()
.
- exists(key, db=None)¶
- Parameters:
key (str) – key to test
db (int) – database index
- Returns:
boolean indicating if key exists
Return whether or not the given key exists in the database.
- length(key, db=None)¶
- Parameters:
key (str) – key
db (int) – database index
- Returns:
length of the value in bytes, or
None
if not found
Return the length of the raw value stored at the given key. If the key does not exist, returns
None
.
- seize(key, db=None, decode_value=True)¶
- Parameters:
key (str) – key to remove
db (int) – database index
decode_value (bool) – deserialize the value using the configured serialization method.
- Returns:
value stored at given key or
None
if key does not exist.
Get and remove the data stored in a given key in a single operation.
- cas(key, old_val, new_val, db=None, expire_time=None, encode_value=True)¶
- Parameters:
key (str) – key to append value to
old_val – original value to test
new_val – new value to store
db (int) – database index
expire_time (int) – expiration time in seconds
encode_value (bool) – serialize the old and new values using the configured serialization method.
- Returns:
boolean indicating if compare-and-swap succeeded.
- Return type:
bool
Compare-and-swap the value stored at a given key.
- incr(key, n=1, orig=None, db=None, expire_time=None)¶
- Parameters:
key (str) – key to increment
n (int) – value to add
orig (int) – default value if key does not exist
db (int) – database index
expire_time (int) – expiration time in seconds
- Returns:
new value at key
- Return type:
int
Increment the value stored in the given key.
- incr_double(key, n=1., orig=None, db=None, expire_time=None)¶
- Parameters:
key (str) – key to increment
n (float) – value to add
orig (float) – default value if key does not exist
db (int) – database index
expire_time (int) – expiration time in seconds
- Returns:
new value at key
- Return type:
float
Increment the floating-point value stored in the given key.
- __getitem__(key_or_keydb)¶
Item-lookup based on either
key
or a 2-tuple consisting of(key, db)
. Follows same semantics asget()
.
- __setitem__(key_or_keydb, value_or_valueexpire)¶
Item-setting based on either
key
or a 2-tuple consisting of(key, db)
. Value consists of either avalue
or a 2-tuple consisting of(value, expire_time)
. Follows same semantics asset()
.
- __delitem__(key_or_keydb)¶
Item-deletion based on either
key
or a 2-tuple consisting of(key, db)
. Follows same semantics asremove()
.
- __contains__(key_or_keydb)¶
Check if key exists. Accepts either
key
or a 2-tuple consisting of(key, db)
. Follows same semantics asexists()
.
- __len__()¶
- Returns:
total number of keys in the default database.
- Return type:
int
- count(db=None)¶
- Parameters:
db (int or None) – database index
- Returns:
total number of keys in the database.
- Return type:
int
Count total number of keys in the database.
- update(__data=None, db=None, expire_time=None, no_reply=False, encode_values=True, **kwargs)¶
Efficiently set multiple key/value pairs. If given, the provided
db
andexpire_time
values will be used for all key/value pairs being set.See
KyotoTycoon.set_bulk()
for details.
- pop(key, db=None, decode_value=True)¶
Get and remove the data stored in a given key in a single operation.
See
KyotoTycoon.seize()
.
- match_prefix(prefix, max_keys=None, db=None)¶
- Parameters:
prefix (str) – key prefix to match
max_keys (int) – maximum number of results to return (optional)
db (int) – database index
- Returns:
list of keys that matched the given prefix.
- Return type:
list
- match_regex(regex, max_keys=None, db=None)¶
- Parameters:
regex (str) – regular-expression to match
max_keys (int) – maximum number of results to return (optional)
db (int) – database index
- Returns:
list of keys that matched the given regular expression.
- Return type:
list
- match_similar(origin, distance=None, max_keys=None, db=None)¶
- Parameters:
origin (str) – source string for comparison
distance (int) – maximum edit-distance for similarity (optional)
max_keys (int) – maximum number of results to return (optional)
db (int) – database index
- Returns:
list of keys that were within a certain edit-distance of origin
- Return type:
list
- cursor(db=None, cursor_id=None)¶
- Parameters:
db (int) – database index
cursor_id (int) – cursor id (will be automatically created if None)
- Returns:
Cursor
object
- keys(db=None)¶
- Parameters:
db (int) – database index
- Returns:
all keys in database
- Return type:
generator
Warning
The
keys()
method uses a cursor and can be rather slow.
- keys_nonlazy(db=None)¶
- Parameters:
db (int) – database index
- Returns:
all keys in database
- Return type:
list
Non-lazy implementation of
keys()
. Behind-the-scenes, callsmatch_prefix()
with an empty string as the prefix.
- values(db=None)¶
- Parameters:
db (int) – database index
- Returns:
all values in database
- Return type:
generator
- items(db=None)¶
- Parameters:
db (int) – database index
- Returns:
all key/value tuples in database
- Return type:
generator
- size¶
Property which exposes the size information returned by the
status()
API, for the default database.
- path¶
Property which exposes the filename/path returned by the
status()
API, for the default database.
- set_database(db)¶
- Parameters:
db (int) – database index
Specify the default database index for the client.
Tokyo Tyrant client¶
- class TokyoTyrant(host='127.0.0.1', port=1978, serializer=KT_BINARY, decode_keys=True, timeout=None, connection_pool=False)¶
- Parameters:
host (str) – server host.
port (int) – server port.
serializer – serialization method to use for storing/retrieving values. Accepts
KT_BINARY
,KT_JSON
,KT_MSGPACK
,KT_NONE
,KT_PICKLE
, orTT_TABLE
(for use with table databases).decode_keys (bool) – automatically decode keys, encoded as UTF-8.
timeout (int) – socket timeout (optional).
connection_pool (bool) – use a connection pool to manage sockets.
Client for interacting with Tokyo Tyrant database.
- close(allow_reuse=True)¶
- Parameters:
allow_reuse (bool) – when the connection pool is enabled, this flag indicates whether the connection can be reused. For unpooled clients this flag has no effect.
Close the connection to the server.
- close_all()¶
When using the connection pool, this method can close all client connections.
- get_bulk(keys, decode_values=True)¶
- Parameters:
keys (list) – list of keys to retrieve
decode_values (bool) – decode values using the configured serialization scheme.
- Returns:
dictionary of all key/value pairs that were found
Efficiently retrieve multiple key/value pairs from the database. If a key does not exist, it will not be present in the result dictionary.
- get(key)¶
- Parameters:
key (str) – key to look-up
- Returns:
deserialized value or
None
if key does not exist.
Fetch and (optionally) deserialize the value for the given key.
- get_bytes(key)¶
- Parameters:
key (str) – key to look-up
- Returns:
raw bytestring value or
None
if key does not exist.
Fetch the value for the given key. The resulting value will not be deserialized.
- set_bulk(data, no_reply=False, encode_values=True)¶
- Parameters:
data (dict) – mapping of key/value pairs to set.
no_reply (bool) – execute the operation without a server acknowledgment.
encode_values (bool) – serialize the values using the configured serialization scheme (e.g.,
KT_MSGPACK
).
- Returns:
boolean indicating success, or
None
ifno_reply
.
Efficiently set multiple key/value pairs.
- set(key, value)¶
- Parameters:
key (str) – key to set
value – value to store (will be serialized using serializer)
- Returns:
boolean indicating success
Set a single key/value pair.
- set_bytes(key, value)¶
- Parameters:
key (str) – key to set
value – raw value to store
- Returns:
boolean indicating success
Set a single key/value pair without encoding the value.
- remove_bulk(keys)¶
- Parameters:
keys (list) – list of keys to remove
- Returns:
boolean indicating success
- remove(key)¶
- Parameters:
key (str) – key to remove
- Returns:
boolean indicating success
- script(name, key=None, value=None, lock_records=False, lock_all=False, encode_value=True, decode_result=False, as_list=False, as_dict=False, as_int=False)¶
- Parameters:
name (str) – name of lua function to call
key (str) – key to pass to lua function (optional)
value (str) – value to pass to lua function (optional)
lock_records (bool) – lock records modified during script execution
lock_all (bool) – lock all records during script execution
encode_value (bool) – serialize the value before sending to the script
decode_value (bool) – deserialize the script return value
as_list (bool) – deserialize newline-separated value into a list
as_dict (bool) – deserialize list of tab-separated key/value pairs into dict
as_int (bool) – return value as integer
- Returns:
byte-string or object returned by function (depending on decode_value)
Execute a lua function, passing as arguments the given
key
andvalue
(if provided). The return value is a bytestring, which can be deserialized by specifyingdecode_value=True
. The argumentsas_list
,as_dict
andas_int
can be used to apply specific deserialization to the returned value.
- clear()¶
- Returns:
boolean indicating success
Remove all keys from the database.
- status()¶
- Returns:
status fields and values
- Return type:
dict
Obtain status information from the server.
- synchronize()¶
- Returns:
boolean indicating success
Synchronize data to disk.
- optimize(options)¶
- Parameters:
options (str) – option format string to use when optimizing database.
- Returns:
boolean indicating success
- add(key, value, encode_value=True)¶
- Parameters:
key (str) – key to add
value – value to store
encode_value (bool) – serialize the value using the configured serialization scheme.
- Returns:
boolean indicating if key could be added or not
Add a key/value pair to the database. This operation will only succeed if the key does not already exist in the database.
- append(key, value, encode_value=True)¶
- Parameters:
key (str) – key to append value to
value – value to append
encode_value (bool) – serialize the value using the configured serialization scheme.
- Returns:
boolean indicating if value was appended
Appends data to an existing key/value pair. If the key does not exist, this is equivalent to the
set()
method.
- addshl(key, value, width, encode_value=True)¶
- Parameters:
key (str) – key to append value to
value – data to append
width (int) – number of bytes to shift
encode_value (bool) – serialize the value using the configured serialization scheme.
- Returns:
boolean indicating success
Concatenate a value at the end of the existing record and shift it to the left by width bytes.
- exists(key)¶
- Parameters:
key (str) – key to test
- Returns:
boolean indicating if key exists
Return whether or not the given key exists in the database.
- length(key)¶
- Parameters:
key (str) – key
db (int) – database index
- Returns:
length of the value in bytes, or
None
if not found
Return the length of the raw value stored at the given key. If the key does not exist, returns
None
.
- seize(key, decode_value=True)¶
- Parameters:
key (str) – key to remove
decode_value (bool) – deserialize the value using the configured serialization method.
- Returns:
value stored at given key or
None
if key does not exist.
Get and remove the data stored in a given key in a single operation.
- incr(key, n=1)¶
- Parameters:
key (str) – key to increment
n (int) – value to add
- Returns:
incremented result value
- incr_double(key, n=1.)¶
- Parameters:
key (str) – key to increment
n (float) – value to add
- Returns:
incremented result value
Increment the floating-point value stored in the given key.
- count()¶
- Returns:
number of key/value pairs in the database
- Return type:
int
Count the number of key/value pairs in the database
- __getitem__(key)¶
Get value at given
key
. Identical toget()
.Note
If the database is a tree, a slice of keys can be used to retrieve an ordered range of values.
- update(__data=None, no_reply=False, encode_values=True, **kwargs)¶
- Parameters:
__data (dict) – mapping of key/value pairs to set.
no_reply (bool) – execute the operation without a server acknowledgment.
encode_values (bool) – serialize the values using the configured serialization scheme.
kwargs – arbitrary key/value pairs to set.
- Returns:
boolean indicating success.
Efficiently set multiple key/value pairs. Data can be provided as a dict or as an arbitrary number of keyword arguments.
See also:
set_bulk()
.
- setdup(key, value, encode_value=True)¶
- Parameters:
key (str) – key to set
value – value to store
encode_value (bool) – serialize the value using the configured serialization scheme.
- Returns:
boolean indicating success
Set key/value pair. If using a B-Tree and the key already exists, the new value will be added to the beginning.
- setdupback(key, value)¶
- Parameters:
key (str) – key to set
value – value to store
encode_value (bool) – serialize the value using the configured serialization scheme.
- Returns:
boolean indicating success
Set key/value pair. If using a B-Tree and the key already exists, the new value will be added to the end.
- get_part(key, start=None, end=None, decode_value=True)¶
- Parameters:
key (str) – key to look-up
start (int) – start offset
end (int) – number of characters to retrieve (after start).
decode_value (bool) – deserialize the value using the configured serialization scheme.
- Returns:
the substring portion of value requested or
False
if the value does not exist or the start index exceeded the value length.
- misc(cmd, args=None, update_log=True)¶
- Parameters:
cmd (str) – Command to execute
args (list) – Zero or more bytestring arguments to misc function.
update_log (bool) – Add misc command to update log.
Run a miscellaneous command using the “misc” API. Returns a list of zero or more bytestrings.
- size¶
Property which exposes the size of the database.
- error¶
Return a 2-tuple of error code and message for the last error reported by the server (if set).
- copy(path)¶
- Parameters:
path (str) – destination for copy of database.
- Returns:
boolean indicating success
Copy the database file to the given path.
- restore(path, timestamp, options=0)¶
- Parameters:
path (str) – path to update log directory
timestamp (datetime) – datetime from which to restore
options (int) – optional flags
- Returns:
boolean indicating success
Restore the database file from the update log.
- set_master(host, port, timestamp, options=0)¶
- Parameters:
host (str) – host of master server
port (int) – port of master server
timestamp (datetime) – start timestamp
options (int) – optional flags
- Returns:
boolean indicating success
Set the replication master.
- clear_cache()¶
- Returns:
boolean indicating success
- defragment(nsteps=None)¶
- Parameters:
nsteps (int) – number of defragmentation steps
- Returns:
boolean indicating success
Defragment the database.
- get_range(start, stop=None, max_keys=0, decode_values=True)¶
- Parameters:
start (str) – start-key for range
stop (str) – stop-key for range (optional)
max_keys (int) – maximum keys to fetch
decode_values (bool) – deserialize the values using the configured serialization scheme.
- Returns:
a dictionary mapping of key-value pairs falling within the given range.
Fetch a range of key/value pairs and return them as a dictionary.
Note
Only works with tree databases.
- get_rangelist(start, stop=None, max_keys=0, decode_values=True)¶
- Parameters:
start (str) – start-key for range
stop (str) – stop-key for range (optional)
max_keys (int) – maximum keys to fetch
decode_values (bool) – deserialize the values using the configured serialization scheme.
- Returns:
a list of ordered key-value pairs falling within the given range.
Fetch a range of key/value pairs and return them as an ordered list of key/value tuples.
Note
Only works with tree databases.
- match_prefix(prefix, max_keys=1024)¶
- Parameters:
prefix (str) – key prefix to match
max_keys (int) – maximum number of results to return
- Returns:
list of keys that matched the given prefix.
- match_regex(regex, max_keys=None, decode_values=True)¶
- Parameters:
regex (str) – regular-expression to match
max_keys (int) – maximum number of results to return
decode_values (bool) – deserialize the values using the configured serialization scheme.
- Returns:
a dictionary mapping of key-value pairs which matched the regex.
- match_regexlist(regex, max_keys=None, decode_values=True)¶
- Parameters:
regex (str) – regular-expression to match
max_keys (int) – maximum number of results to return
decode_values (bool) – deserialize the values using the configured serialization scheme.
- Returns:
a list of ordered key-value pairs which matched the regex.
- iter_from(start_key)¶
- Parameters:
start_key – key to start iteration.
- Returns:
list of key/value tuples obtained by iterating from start-key.
- keys()¶
- Returns:
list all keys in database
- Return type:
generator
- keys_fast()¶
- Returns:
list of all keys in database
- Return type:
list
Return a list of all keys in the database in a single operation.
- items()¶
- Returns:
list all key/value tuples in database
- Return type:
generator
- items_fast()¶
- Returns:
list of all key/value tuples in database in a single operation.
- Return type:
list
- set_index(name, index_type, check_exists=False)¶
- Parameters:
name (str) – column name to index
index_type (int) – see Index types for values
check_exists (bool) – if true, an error will be raised if the index already exists.
- Returns:
boolean indicating success
Create an index on the given column in a table database.
- optimize_index(name)¶
- Parameters:
name (str) – column name index to optimize
- Returns:
boolean indicating success
Optimize the index on a given column.
- delete_index(name)¶
- Parameters:
name (str) – column name index to delete
- Returns:
boolean indicating success
Delete the index on a given column.
- search(expressions, cmd=None)¶
- Parameters:
expressions (list) – zero or more search expressions
cmd (str) – extra command to apply to search results
- Returns:
varies depending on
cmd
.
Perform a search on a table database. Rather than call this method directly, it is recommended that you use the
QueryBuilder
to construct and execute table queries.
- genuid()¶
- Returns:
integer id
Generate a unique ID.
- class QueryBuilder¶
Construct and execute table queries.
- filter(column, op, value)¶
- Parameters:
column (str) – column name to filter on
op (int) – operation, see Filter types for available values
value – value for filter expression
Add a filter expression to the query.
- order_by(column, ordering=None)¶
- Parameters:
column (str) – column name to order by
ordering (int) – ordering method, defaults to lexical ordering. See Ordering types for available values.
Specify ordering of query results.
- limit(limit=None)¶
- Parameters:
limit (int) – maximum number of results
Limit the number of results returned by query.
- offset(offset=None)¶
- Parameters:
offset (int) – number of results to skip over.
Skip over results returned by query.
- execute(client)¶
- Parameters:
client (TokyoTyrant) – database client
- Returns:
list of keys matching query criteria
- Return type:
list
Execute the query and return a list of the keys of matching records.
- delete(client)¶
- Parameters:
client (TokyoTyrant) – database client
- Returns:
boolean indicating success
Delete records that match the query criteria.
- get(client)¶
- Parameters:
client (TokyoTyrant) – database client
- Returns:
list of 2-tuples consisting of
key, value
.- Rtype list:
Execute query and return a list of keys and values for records matching the query criteria.
- count(client)¶
- Parameters:
client (TokyoTyrant) – database client
- Returns:
number of query results
Return count of matching records.
Index types¶
- INDEX_STR¶
- INDEX_NUM¶
- INDEX_TOKEN¶
- INDEX_QGRAM¶
Filter types¶
- OP_STR_EQ¶
- OP_STR_CONTAINS¶
- OP_STR_STARTSWITH¶
- OP_STR_ENDSWITH¶
- OP_STR_ALL¶
- OP_STR_ANY¶
- OP_STR_ANYEXACT¶
- OP_STR_REGEX¶
- OP_NUM_EQ¶
- OP_NUM_GT¶
- OP_NUM_GE¶
- OP_NUM_LT¶
- OP_NUM_LE¶
- OP_NUM_BETWEEN¶
- OP_NUM_ANYEXACT¶
- OP_FTS_PHRASE¶
- OP_FTS_ALL¶
- OP_FTS_ANY¶
- OP_FTS_EXPRESSION¶
- OP_NEGATE¶
Combine with other operand using bitwise-or to negate the filter.
- OP_NOINDEX¶
Combine with other operand using bitwise-or to prevent using an index.
Ordering types¶
- ORDER_STR_ASC¶
- ORDER_STR_DESC¶
- ORDER_NUM_ASC¶
- ORDER_NUM_DESC¶
Embedded Servers¶
- class EmbeddedServer(server='ktserver', host='127.0.0.1', port=None, database='*', server_args=None)¶
- Parameters:
server (str) – path to ktserver executable
host (str) – host to bind server on
port (int) – port to use (optional)
database (str) – database filename, default is in-memory hash table
server_args (list) – additional command-line arguments for server
Create a manager for running an embedded (sub-process) Kyoto Tycoon server. If the port is not specified, a random high port will be used.
Example:
>>> from kt import EmbeddedServer >>> server = EmbeddedServer() >>> server.run() True >>> client = server.client >>> client.set('k1', 'v1') 1 >>> client.get('k1') 'v1' >>> server.stop() True
- run()¶
- Returns:
boolean indicating if server successfully started
Run
ktserver
in a sub-process.
- stop()¶
- Returns:
boolean indicating if server was stopped
Stop the running embedded server.
- client¶
KyotoTycoon
client bound to the embedded server.
- class EmbeddedTokyoTyrantServer(server='ttserver', host='127.0.0.1', port=None, database='*', server_args=None)¶
- Parameters:
server (str) – path to ttserver executable
host (str) – host to bind server on
port (int) – port to use (optional)
database (str) – database filename, default is in-memory hash table
server_args (list) – additional command-line arguments for server
Create a manager for running an embedded (sub-process) Tokyo Tyrant server. If the port is not specified, a random high port will be used.
Example:
>>> from kt import EmbeddedTokyoTyrantServer >>> server = EmbeddedTokyoTyrantServer() >>> server.run() True >>> client = server.client >>> client.set('k1', 'v1') True >>> client.get('k1') 'v1' >>> server.stop() True
- run()¶
- Returns:
boolean indicating if server successfully started
Run
ttserver
in a sub-process.
- stop()¶
- Returns:
boolean indicating if server was stopped
Stop the running embedded server.
- client¶
TokyoTyrant
client bound to the embedded server.