Opened 6 years ago

Closed 4 years ago

#29887 closed New feature (fixed)

Add support for pymemcache

Reported by: Adrian Turjak Owned by: Nick Pope
Component: Core (Cache system) Version: dev
Severity: Normal Keywords: pymemcache
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Adrian Turjak)

With python-memcached no longer getting any true support(1), maybe it's time django adds support for pymemcache(2)?

1: https://github.com/linsomniac/python-memcached/issues/95
2: https://github.com/pinterest/pymemcache

Change History (14)

comment:1 by Adrian Turjak, 6 years ago

Description: modified (diff)

comment:2 by Tim Graham, 6 years ago

Component: UncategorizedCore (Cache system)
Resolution: needsinfo
Status: newclosed
Summary: support for pymemcache to replace python-memcachedAdd support for pymemcache to replace python-memcached

You should make this proposal on the DevelopersMailingList. If there's consensus, we'll reopen the ticket.

comment:4 by Tim Graham, 5 years ago

Resolution: needsinfo
Status: closednew
Summary: Add support for pymemcache to replace python-memcachedAdd support for pymemcache
Triage Stage: UnreviewedAccepted

The initial response on the mailing list is positive.

comment:5 by Maina Nick, 5 years ago

Owner: changed from nobody to Maina Nick
Status: newassigned

comment:6 by Kosei Kitahara, 5 years ago

I'm a maintener of https://github.com/django-pymemcache/django-pymemcache
Some API are different from python-memcache and pymemcache.
So I override pymemcache.HashClient and override some method to support python-memcached's API

comment:7 by Adrian Turjak, 5 years ago

@Maina Nick
Any progress on this? At the very least marking the backend as deprecated because the library itself is?

@Kosei Kitahara
That is always good to know, but I think ultimately if we supported this we're best writing a new standalone backend so that it uses the client natively and isn't reliant on the other backend which we should deprecate.

comment:8 by Claude Paroz, 4 years ago

Owner: Maina Nick removed
Status: assignednew

comment:9 by Nick Pope, 4 years ago

Has patch: set
Keywords: pymemcache added
Owner: set to Nick Pope
Status: newassigned
Type: Cleanup/optimizationNew feature

comment:10 by Mariusz Felisiak <felisiak.mariusz@…>, 4 years ago

In e2013b26:

Refs #29887, #27480 -- Moved touch() to BaseMemcachedCache.

comment:11 by Mariusz Felisiak <felisiak.mariusz@…>, 4 years ago

In cc1f2c6a:

Refs #29887 -- Simplified memcached client instantiation.

comment:12 by Mariusz Felisiak <felisiak.mariusz@…>, 4 years ago

In a629139:

Refs #29887, Refs #24212 -- Added servers configuration hook for memcached backends.

The servers property can be overridden to allow memcached backends to
alter the server configuration prior to it being passed to instantiate
the client. This allows avoidance of documentation for per-backend
differences, e.g. stripping the 'unix:' prefix for pylibmc.

comment:13 by Mariusz Felisiak <felisiak.mariusz@…>, 4 years ago

In cda0a3d7:

Refs #29887, Refs #24212 -- Added more client servers tests for PyLibMCCache.

comment:14 by Mariusz Felisiak <felisiak.mariusz@…>, 4 years ago

Resolution: fixed
Status: assignedclosed

In b4d46df5:

Fixed #29887 -- Added a cache backend for pymemcache.

Note: See TracTickets for help on using tickets.
Back to Top