pylibmc is a quick and small Python client for memcached written in C.
libmemcached must be installed separately, and be available to the compiler and linker.
Comparison to other libraries
Why use pylibmc? Because it's fast.
Building needs libmemcached and optionally zlib, the path to which can be
specified using command-line options to
- Build against libmemcached in DIR
- Build against zlib in DIR
- Disable zlib (disables compression)
So for example, if one were to use MacPorts to install libmemcached, your
libmemcached would end up in
New in version 1.2.0
This release is for the people behind reddit.com, for helping push development forward. Keep doing your thing.
- sevmer.org versioning scheme
- Fixed GIL issues
- Added CAS support (ketralnis)
- Added SASL authentication (Remoun)
- Added more detail to errors (spladug)
- Added mapping-like behavior for clients
- Fixed build errors on Mac OS X
- Moved to nose for testing
- Improved repr of clients (noah256)
- Improved IPv6 support (JshWright)
- Improved pooling behavior so it doesn't cause lock-ups
- Improved tests and testing foundation
- Improved documentation and structure
- Internalized Sphinx documentation
- Bunch of other stuff
New in version 1.1
- Removed deprecated space-based behavior names.
- Acquire and release the GIL properly, thanks ketralnis
- Add support for
- Included a more useful command-line interface
- Fixed handling of NUL-byte keys in
get_multiin binary protocol
- Fixed some valgrind-reported memory warnings
- Fixed bogus usage of time argument for delete.
- 1.1.1: Fixed tests under Python 2.5
New in version 1.0
- Lots of documentation fixes and other nice things like that.
- Nailed what appears to be the last outstanding memory leak.
- Explicitly require libmemcached 0.32 or newer.
New in version 0.9
- Added a
get_statsmethod, which behaves exactly like python-memcached's equivalent.
- Gives the empty string for empty memcached values like python-memcached does.
- Added exceptions for most libmemcached return codes.
- Fixed an issue with
New in version 0.8
- Pooling helpers are now available. See
pooling.rstin the distribution.
- The binary protocol is now properly exposed, simply pass
binary=Trueto the constructor and there you go.
- Call signatures now match libmemcached 0.32, but should work with older versions. Remember to run the tests!
New in version 0.7
- Restructured some of the code, which should yield better performance (if not for that, it reads better.)
- Fixed some memory leaks.
- Integrated changes from amix.dk, which should make pylibmc work under Snow Leopard.
- Add support for the boolean datatype.
- Improved test-runner -- now tests
build/lib.*/_pylibmc.soif available, and reports some version information.
- Support for x86_64 should now work completely.
- Builds with Python 2.4, tests run fine, but not officially supported.
- Fixed critical bugs in behavior manipulation.
New in version 0.6
- Added compatibility with libmemcached 0.26, WRT error return codes.
- Added flush_all and disconnect_all methods.
- Now using the latest pickling protocol.
New in version 0.5
- Fixed lots of memory leaks, and added support for libmemcached 0.23.
- Also made the code tighter in terms of compiler pedantics.
New in version 0.4
- Renamed the C module to _pylibmc, and added lots of libmemcached constants to it, as well as implemented behaviors.