Skip to main content

Quick and small memcached client for Python

Project description

pylibmc is a quick and small Python client for memcached written in C.

It builds on the famous libmemcached C client from TangentOrg, notable for its speed and flexibility.

libmemcached must be installed separately, and be available to the compiler and linker.

For installation instructions, usage notes and reference documentation, see pylibmc’s home at http://sendapatch.se/projects/pylibmc/.

Comparison to other libraries

Why use pylibmc? Because it’s fast.

See this (a bit old) speed comparison, or amix.dk’s comparison.

Installation

Building needs libmemcached and optionally zlib, the path to which can be specified using command-line options to setup.py

--with-libmemcached=DIR

Build against libmemcached in DIR

--with-zlib=DIR

Build against zlib in DIR

--without-zlib

Disable zlib (disables compression)

So for example, if one were to use MacPorts to install libmemcached, your libmemcached would end up in /opt/local, hence --with-libmemcached=/opt/local.

IRC

#sendapatch on chat.freenode.net.

Change Log

New in version 1.1

  • Removed deprecated space-based behavior names.

  • Acquire and release the GIL properly, thanks ketralnis

  • Add support for libmemcached 0.40

  • Included a more useful command-line interface

  • Fixed handling of NUL-byte keys in get_multi in binary protocol

  • Fixed some valgrind-reported memory warnings

  • Fixed bogus usage of time argument for delete.

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_stats method, 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 Client.behaviors.update.

New in version 0.8

  • Pooling helpers are now available. See pooling.rst in the distribution.

  • The binary protocol is now properly exposed, simply pass binary=True to 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.so if 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylibmc-1.1.tar.gz (29.2 kB view details)

Uploaded Source

File details

Details for the file pylibmc-1.1.tar.gz.

File metadata

  • Download URL: pylibmc-1.1.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pylibmc-1.1.tar.gz
Algorithm Hash digest
SHA256 7b2bceab2be4e9e8d44fa31a99ca8e2d3a70fb6f456cbef2e81c3d852163bf10
MD5 f418ccb0e3b753d1304e618b6a688176
BLAKE2b-256 33218e5bd0e83d560f9258e9e42dc2e4940a9799445cdda8f4ddc3c8c736e28a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page