bmemcached Package

bmemcached Package

class bmemcached.__init__.Client(servers=['127.0.0.1:11211'], username=None, password=None)

Bases: object

This is intended to be a client class which implement standard cache interface that common libs do.

add(key, value, time=100)

Add a key/value to server ony if it does not exist.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True if key is added False if key already exists

Return type:

bool

decr(key, value)

Decrement a key, if it exists, returns it’s actual value, if it don’t, return 0. Minimum value of decrement return is 0.

Parameters:
  • key (basestring) – Key’s name
  • value (int) – Number to be decremented
Returns:

Actual value of the key on server

Return type:

int

delete(key)

Delete a key/value from server. If key does not exist, it returns True.

Parameters:key (basestring) – Key’s name to be deleted
Returns:True in case o success and False in case of failure.
Return type:bool
disconnect_all()

Disconnect all servers.

Returns:Nothing
Return type:None
flush_all(time=0)

Send a command to server flush|delete all keys.

Parameters:time (int) – Time to wait until flush in seconds.
Returns:True in case of success, False in case of failure
Return type:bool
get(key)

Get a key from server.

Parameters:key (basestring) – Key’s name
Returns:Returns a key data from server.
Return type:object
get_multi(keys)

Get multiple keys from server.

Parameters:keys (list) – A list of keys to from server.
Returns:A dict with all requested keys.
Return type:dict
incr(key, value)

Increment a key, if it exists, returns it’s actual value, if it don’t, return 0.

Parameters:
  • key (basestring) – Key’s name
  • value (int) – Number to be incremented
Returns:

Actual value of the key on server

Return type:

int

replace(key, value, time=100)

Replace a key/value to server ony if it does exist.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True if key is replace False if key does not exists

Return type:

bool

set(key, value, time=100)

Set a value for a key on server.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True in case of success and False in case of failure

Return type:

bool

set_multi(mappings, time=100)

Set multiple keys with it’s values on server.

Parameters:
  • mappings (dict) – A dict with keys/values
  • time (int) – Time in seconds that your key will expire.
Returns:

True in case of success and False in case of failure

Return type:

bool

set_servers(servers)

Iter to a list of servers and instantiate Server class.

Parameters:servers (list) – A list of servers
Returns:Returns nothing
Return type:None
stats(key=None)

Return server stats.

Parameters:key (basestring) – Optional if you want status from a key.
Returns:A dict with server stats
Return type:dict

client Module

class bmemcached.client.Client(servers=['127.0.0.1:11211'], username=None, password=None)[source]

Bases: object

This is intended to be a client class which implement standard cache interface that common libs do.

add(key, value, time=100)[source]

Add a key/value to server ony if it does not exist.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True if key is added False if key already exists

Return type:

bool

decr(key, value)[source]

Decrement a key, if it exists, returns it’s actual value, if it don’t, return 0. Minimum value of decrement return is 0.

Parameters:
  • key (basestring) – Key’s name
  • value (int) – Number to be decremented
Returns:

Actual value of the key on server

Return type:

int

delete(key)[source]

Delete a key/value from server. If key does not exist, it returns True.

Parameters:key (basestring) – Key’s name to be deleted
Returns:True in case o success and False in case of failure.
Return type:bool
disconnect_all()[source]

Disconnect all servers.

Returns:Nothing
Return type:None
flush_all(time=0)[source]

Send a command to server flush|delete all keys.

Parameters:time (int) – Time to wait until flush in seconds.
Returns:True in case of success, False in case of failure
Return type:bool
get(key)[source]

Get a key from server.

Parameters:key (basestring) – Key’s name
Returns:Returns a key data from server.
Return type:object
get_multi(keys)[source]

Get multiple keys from server.

Parameters:keys (list) – A list of keys to from server.
Returns:A dict with all requested keys.
Return type:dict
incr(key, value)[source]

Increment a key, if it exists, returns it’s actual value, if it don’t, return 0.

Parameters:
  • key (basestring) – Key’s name
  • value (int) – Number to be incremented
Returns:

Actual value of the key on server

Return type:

int

replace(key, value, time=100)[source]

Replace a key/value to server ony if it does exist.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True if key is replace False if key does not exists

Return type:

bool

set(key, value, time=100)[source]

Set a value for a key on server.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True in case of success and False in case of failure

Return type:

bool

set_multi(mappings, time=100)[source]

Set multiple keys with it’s values on server.

Parameters:
  • mappings (dict) – A dict with keys/values
  • time (int) – Time in seconds that your key will expire.
Returns:

True in case of success and False in case of failure

Return type:

bool

set_servers(servers)[source]

Iter to a list of servers and instantiate Server class.

Parameters:servers (list) – A list of servers
Returns:Returns nothing
Return type:None
stats(key=None)[source]

Return server stats.

Parameters:key (basestring) – Optional if you want status from a key.
Returns:A dict with server stats
Return type:dict

exceptions Module

exception bmemcached.exceptions.AuthenticationNotSupported[source]

Bases: bmemcached.exceptions.MemcachedException

exception bmemcached.exceptions.InvalidCredentials[source]

Bases: bmemcached.exceptions.MemcachedException

exception bmemcached.exceptions.MemcachedException[source]

Bases: exceptions.Exception

server Module

class bmemcached.server.Server(server, username=None, password=None)[source]

Bases: object

This class is used by Client class to communicate with server.

COMMANDS = {'auth_negotiation': {'command': 32}, 'getkq': {'command': 13, 'struct': '%ds'}, 'stat': {'command': 16}, 'set': {'command': 1, 'struct': 'LL%ds%ds'}, 'get': {'command': 0, 'struct': '%ds'}, 'replace': {'command': 3, 'struct': 'LL%ds%ds'}, 'flush': {'command': 8, 'struct': 'I'}, 'decr': {'command': 6, 'struct': 'QQL%ds'}, 'incr': {'command': 5, 'struct': 'QQL%ds'}, 'getk': {'command': 12, 'struct': '%ds'}, 'auth_request': {'command': 33, 'struct': '%ds%ds'}, 'add': {'command': 2, 'struct': 'LL%ds%ds'}, 'setq': {'command': 17, 'struct': 'LL%ds%ds'}, 'delete': {'command': 4, 'struct': '%ds'}}
COMPRESSION_THRESHOLD = 128
FLAGS = {'integer': 2, 'pickle': 1, 'compressed': 8, 'long': 4}
HEADER_SIZE = 24
HEADER_STRUCT = '!BBHBBHLLQ'
MAGIC = {'request': 128, 'response': 129}
STATUS = {'key_exists': 2, 'auth_error': 8, 'unknown_command': 129, 'success': 0, 'key_not_found': 1}
add(key, value, time)[source]

Add a key/value to server ony if it does not exist.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True if key is added False if key already exists

Return type:

bool

authenticate(username, password)[source]

Authenticate user on server.

Parameters:
  • username (basestring) – Username used to be authenticated.
  • password (basestring) – Password used to be authenticated.
Returns:

True if successful.

Raises :

InvalidCredentials, AuthenticationNotSupported, MemcachedException

Return type:

bool

decr(key, value, default=0, time=100)[source]

Decrement a key, if it exists, returns it’s actual value, if it don’t, return 0. Minimum value of decrement return is 0.

Parameters:
  • key (basestring) – Key’s name
  • value (int) – Number to be decremented
  • default (int) – Default value if key does not exist.
  • time (int) – Time in seconds to expire key.
Returns:

Actual value of the key on server

Return type:

int

delete(key)[source]

Delete a key/value from server. If key does not exist, it returns True.

Parameters:key (basestring) – Key’s name to be deleted
Returns:True in case o success and False in case of failure.
Return type:bool
deserialize(value, flags)[source]

Deserialized values based on flags or just return it if it is not serialized.

Parameters:
  • value (basestring, int) – Serialized or not value.
  • flags (int) – Value flags
Returns:

Deserialized value

Return type:

basestring|int

disconnect()[source]

Disconnects from server.

Returns:Nothing
Return type:None
flush_all(time)[source]

Send a command to server flush|delete all keys.

Parameters:time (int) – Time to wait until flush in seconds.
Returns:True in case of success, False in case of failure
Return type:bool
get(key)[source]

Get a key from server.

Parameters:key (basestring) – Key’s name
Returns:Returns a key data from server.
Return type:object
get_multi(keys)[source]

Get multiple keys from server.

Parameters:keys (list) – A list of keys to from server.
Returns:A dict with all requested keys.
Return type:dict
incr(key, value, default=0, time=1000000)[source]

Increment a key, if it exists, returns it’s actual value, if it don’t, return 0.

Parameters:
  • key (basestring) – Key’s name
  • value (int) – Number to be incremented
  • default (int) – Default value if key does not exist.
  • time (int) – Time in seconds to expire key.
Returns:

Actual value of the key on server

Return type:

int

replace(key, value, time)[source]

Replace a key/value to server ony if it does exist.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True if key is replace False if key does not exists

Return type:

bool

serialize(value)[source]

Serializes a value based on it’s type.

Parameters:value (basestring, int, long, object) – Something to be serialized
Returns:Serialized type
Return type:str
set(key, value, time)[source]

Set a value for a key on server.

Parameters:
  • key (basestring) – Key’s name
  • value (object) – A value to be stored on server.
  • time (int) – Time in seconds that your key will expire.
Returns:

True in case of success and False in case of failure

Return type:

bool

set_multi(mappings, time=100)[source]

Set multiple keys with it’s values on server.

Parameters:
  • mappings (dict) – A dict with keys/values
  • time (int) – Time in seconds that your key will expire.
Returns:

True in case of success and False in case of failure

Return type:

bool

split_host_port(server)[source]

Return (host, port) from server.

Port defaults to 11211.

>>> split_host_port('127.0.0.1:11211')
('127.0.0.1', 11211)
>>> split_host_port('127.0.0.1')
('127.0.0.1', 11211)
stats(key=None)[source]

Return server stats.

Parameters:key (basestring) – Optional if you want status from a key.
Returns:A dict with server stats
Return type:dict

Project Versions

Table Of Contents

Previous topic

bmemcached

This Page