class MemCacheProtocol(LineReceiver, TimeoutMixin): (source)
Constructor: MemCacheProtocol(timeOut)
MemCache protocol: connect to a memcached server to store/retrieve values.
Method | __init__ |
Create the protocol. |
Method | add |
Add the given key. It must not exist in the server. |
Method | append |
Append given data to the value of an existing key. |
Method | check |
Change the content of key only if the cas value matches the current one associated with the key. Use this to store a value which hasn't been modified since last time you fetched it. |
Method | cmd_ |
An invalid input as been sent. |
Method | cmd_ |
A delete command has completed successfully. |
Method | cmd_ |
This the end token to a get or a stat operation. |
Method | cmd_ |
A non-existent command has been sent. |
Method | cmd_ |
A checkAndSet update has failed. |
Method | cmd_ |
Manage error response for incr/decr/delete. |
Method | cmd_ |
Manage a specific 'not stored' response to a set operation: this is not an error, but some condition wasn't met. |
Method | cmd_ |
The last command has been completed. |
Method | cmd_ |
An error has happened server-side. |
Method | cmd_ |
Reception of one stat line. |
Method | cmd_ |
Manage a success response to a set operation. |
Method | cmd_ |
Prepare the reading a value after a get. |
Method | cmd_ |
Read version token. |
Method | connection |
Cause any outstanding commands to fail. |
Method | decrement |
Decrement the value of key by given value (default to 1). key must be consistent with an int. Return the new value, coerced to 0 if negative. |
Method | delete |
Delete an existing key. |
Method | flush |
Flush all cached values. |
Method | get |
Get the given key. It doesn't support multiple keys. If withIdentifier is set to True, the command issued is a gets, that will return the current identifier associated with the value. This identifier has to be used when issuing ... |
Method | get |
Get the given list of keys. If withIdentifier is set to True, the command issued is a gets, that will return the identifiers associated with each values. This identifier has to be used when issuing checkAndSet... |
Method | increment |
Increment the value of key by given value (default to 1). key must be consistent with an int. Return the new value. |
Method | line |
Receive line commands from the server. |
Method | prepend |
Prepend given data to the value of an existing key. |
Method | raw |
Collect data for a get. |
Method | replace |
Replace the given key. It must already exist in the server. |
Method | send |
Override sendLine to add a timeout to response. |
Method | set |
Set the given key. |
Method | stats |
Get some stats from the server. It will be available as a dict. |
Method | timeout |
Close the connection in case of timeout. |
Method | version |
Get the version of the server. |
Constant | MAX |
Undocumented |
Instance Variable | persistent |
the timeout period used to wait for a response. |
Instance Variable | time |
Undocumented |
Method | _cancel |
Cancel all the outstanding commands, making them fail with reason. |
Method | _get |
Helper method for get and getMultiple. |
Method | _incrdecr |
Internal wrapper for incr/decr. |
Method | _set |
Internal wrapper for setting values. |
Instance Variable | _buffer |
the total amount of bytes in _getBuffer. |
Instance Variable | _current |
current list of requests waiting for an answer from the server. |
Instance Variable | _disconnected |
indicate if the connectionLost has been called or not. |
Instance Variable | _get |
current buffer of data, used to store temporary data when reading in raw mode. |
Instance Variable | _len |
amount of data expected in raw mode, when reading for a value. |
Inherited from LineReceiver
:
Method | clear |
Clear buffered data. |
Method | data |
Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.) |
Method | line |
Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way. |
Method | set |
Sets the line-mode of this receiver. |
Method | set |
Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived. |
Constant | MAX |
The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped). Default is 16384. |
Class Variable | delimiter |
The line-ending delimiter to use. By default this is b'\r\n'. |
Instance Variable | line |
Undocumented |
Instance Variable | _buffer |
Undocumented |
Instance Variable | _busy |
Undocumented |
Inherited from Protocol
(via LineReceiver
):
Method | log |
Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Class Variable | factory |
Undocumented |
Inherited from BaseProtocol
(via LineReceiver
, Protocol
):
Method | connection |
Called when a connection is made. |
Method | make |
Make a connection to a transport and a server. |
Instance Variable | connected |
Undocumented |
Instance Variable | transport |
Undocumented |
Inherited from _PauseableMixin
(via LineReceiver
, Protocol
, BaseProtocol
):
Method | pause |
Undocumented |
Method | resume |
Undocumented |
Method | stop |
Undocumented |
Instance Variable | paused |
Undocumented |
Inherited from TimeoutMixin
(via LineReceiver
, Protocol
, BaseProtocol
, _PauseableMixin
):
Method | call |
Wrapper around reactor.callLater for test purpose. |
Method | reset |
Reset the timeout count down. |
Method | set |
Change the timeout period |
Method | __timed |
Undocumented |
Instance Variable | __timeout |
Undocumented |
Create the protocol.
Parameters | |
timeint | the timeout to wait before detecting that the connection is dead and close it. It's expressed in seconds. |
Add the given key. It must not exist in the server.
Parameters | |
key:bytes | the key to add. |
val:bytes | the value associated with the key. |
flags:int | the flags to store with the key. |
expireint | if different from 0, the relative time in seconds when the key will be deleted from the store. |
Returns | |
Deferred | a deferred that will fire with True if the operation has succeeded, and False with the key already exists. |
Change the content of key only if the cas value matches the current one associated with the key. Use this to store a value which hasn't been modified since last time you fetched it.
Parameters | |
key:bytes | The key to set. |
val:bytes | The value associated with the key. |
cas:bytes | Unique 64-bit value returned by previous call of get. |
flags:int | The flags to store with the key. |
expireint | If different from 0, the relative time in seconds when the key will be deleted from the store. |
Returns | |
Deferred | A deferred that will fire with True if the operation has succeeded, False otherwise. |
Manage a specific 'not stored' response to a set operation: this is not an error, but some condition wasn't met.
Decrement the value of key by given value (default to 1). key must be consistent with an int. Return the new value, coerced to 0 if negative.
Parameters | |
key:bytes | the key to modify. |
val:int | the value to decrement. |
Returns | |
Deferred | a deferred with will be called back with the new value associated with the key (after the decrement). |
Flush all cached values.
Returns | |
Deferred | a deferred that will be called back with True when the operation has succeeded. |
Get the given key. It doesn't support multiple keys. If withIdentifier is set to True, the command issued is a gets, that will return the current identifier associated with the value. This identifier has to be used when issuing checkAndSet update later, using the corresponding method.
Parameters | |
key:bytes | The key to retrieve. |
withbool | If set to True, retrieve the current identifier along with the value and the flags. |
Returns | |
Deferred | A deferred that will fire with the tuple (flags, value) if withIdentifier is False, or (flags, cas identifier, value) if True. If the server indicates there is no value associated with key, the returned value will be None and the returned flags will be 0. |
Get the given list of keys. If withIdentifier is set to True, the command issued is a gets, that will return the identifiers associated with each values. This identifier has to be used when issuing checkAndSet update later, using the corresponding method.
Parameters | |
keys:list of bytes | The keys to retrieve. |
withbool | If set to True, retrieve the identifiers along with the values and the flags. |
Returns | |
Deferred | A deferred that will fire with a dictionary with the elements of keys as keys and the tuples (flags, value) as values if withIdentifier is False, or (flags, cas identifier, value) if True. If the server indicates there is no value associated with key, the returned values will be None and the returned flags will be 0. |
Present Since | |
9.0 |
Replace the given key. It must already exist in the server.
Parameters | |
key:bytes | the key to replace. |
val:bytes | the new value associated with the key. |
flags:int | the flags to store with the key. |
expireint | if different from 0, the relative time in seconds when the key will be deleted from the store. |
Returns | |
Deferred | a deferred that will fire with True if the operation has succeeded, and False with the key didn't previously exist. |
Set the given key.
Parameters | |
key:bytes | the key to set. |
val:bytes | the value associated with the key. |
flags:int | the flags to store with the key. |
expireint | if different from 0, the relative time in seconds when the key will be deleted from the store. |
Returns | |
Deferred | a deferred that will fire with True if the operation has succeeded. |
Get some stats from the server. It will be available as a dict.
Parameters | |
arg:None or bytes | An optional additional string which will be sent along with the stats command. The interpretation of this value by the server is left undefined by the memcache protocol specification. |
Returns | |
Deferred | a deferred that will fire with a dict of the available statistics. |
Get the version of the server.
Returns | |
Deferred | a deferred that will fire with the string value of the version. |