| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Ported patch in #52 from @harlowja to current branch. Added tests.
For the cases where the user wants to transparently
encode keys (say using urllib) before they are used
further allow a encoding function to be passed in that
will perform these types of activities (by default it
is the identity function).
|
|\ |
|
| | |
|
| |\
| | |
| | | |
Added quit() method. This method sends the 'quit' command to the servers and then closes the connections, reducing the number of TIME_WAIT sockets hanging around the OS.
|
| | |
| | |
| | |
| | | |
Client.quit_all().
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Port of erankor's PR #30 to the latest code. In that PR, the "time"
argument to delete() is removed because it is not supported by the
protocol:
https://github.com/memcached/memcached/blob/master/doc/protocol.txt#L330
And touch requires the expiry parameter due to protocol:
https://github.com/memcached/memcached/blob/master/doc/protocol.txt#L399
|
| | | |
|
| |\ \ |
|
| | |\ \
| | | | |
| | | | | |
Fix tuple key support in multi methods (regression in 1.55).
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #154
|
| | |\ \ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The slab functions needed a decode (as noted in
https://github.com/linsomniac/python-memcached/pull/175), adapted that
patch. Also converted "while 1" to "while True" while I was in there.
|
| | | | | | |
|
| | | |/ /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
```
<snap>/python_memcached-1.59-py3.8.egg/memcache.py:1303:
SyntaxWarning: "is" with a literal. Did you mean "=="?
if key is '':
<snap>/python_memcached-1.59-py3.8.egg/memcache.py:1304:
SyntaxWarning: "is" with a literal. Did you mean "=="?
if key_extra_len is 0:
```
|
| | | | | |
|
| | |/ / |
|
| |/ / |
|
| | | |
|
|/ /
| |
| |
| | |
Closes #145
|
| | |
|
| | |
|
| |
| |
| |
| | |
Without the trailing '0', the command is invalid.
|
| |
| |
| |
| | |
on Python 3
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Remove unused _has_unicode/_str_cls vars
|
| | |
| | |
| | |
| | | |
Unused since 04f1c78c13bd54050b1d2d3baa9e86d9e79b3629.
|
|\ \ \
| | | |
| | | | |
Remove unnecessary parentheses in return statements
|
| |/ / |
|
|/ / |
|
| | |
|
|\ \
| | |
| | | |
(#72) setup.py will now pull the version number directly from memcach…
|
| | |
| | |
| | |
| | | |
(using setuptools.depends.get_module_constant) in order to prevent discrepancies
|
|\ \ \
| | | |
| | | | |
Python3: `get_stats` function fails due to Bytestring encoding errors
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
Adding support for "stats slabs" statistics
|
| | | | |
|
| | | | |
|
| |/ / |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some Python 3 compatibility changes made python-memcached import pickle
rather than cPickle, since the latter isn't available on Python 3:
https://github.com/linsomniac/python-memcached/commit/45403325e0249ff0f61d6ae449a7daeeb7e852e5
This is fine on Python 3, since importing pickle will automatically use
the faster C implementation if available, however with Python 2 this
caused a 400% slowdown in memcache gets between python-memcached v1.53
and v1.54, when dealing with objects other than bytes.
This mostly fixes #71, though there is still a 10-20% performance drop
using current master plus this change compared to v1.53 (using Python
2.7.10).
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
tests/test_memcache.py
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Port set_multi() to Python 3
* Port delete_multi() to Python 3
* Fix _get_server() on Python 3 when the connection to the first server
fails: encode to ASCII before calling serverHashFunction.
* Fix expect(): don't decode line on Python 3, return the raw line
* Add more unit tests
* tox now also runs unit tests
* Explicit the encoding when calling str.encode(): use 'utf-8'
* test_memcache: close sockets in tearDown()
* test_get_unknown_value(): delete the key to ensure that it doesn't exist
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* travis: make python 3 tests voting (cannot fail anymore)
* setup.py: add Python 3 classifiers
* Encode unicode key to UTF-8: add _encode_key() method
* Add _encode_cmd() helper method to format a memcache command as a byte
string (bytes%args will only be supported in Python 3.5)
* Rewrite _map_and_prefix_keys() code converting keys
* _val_to_store_info() now accepts Unicode: Unicode is encoded to UTF-8
* _set('cas') doesn't call _val_to_store_info() anymore when it's not
needed: begin by checking if the key is in the cas_ids dictionary
* Process server reply as bytes
* _recv_value() now clears the _FLAG_COMPRESSED flag after decompressing
to simplify the code
* On Python 3, _recv_value() now decodes byte strings from UTF-8
* Simplify check_key(), _encode_key() now encodes Unicode to UTF-8
* Replace u'...' with six.u('...') in tests for Python 3.2
|