Opened 5 years ago

Closed 3 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 Changed 5 years ago by Adrian Turjak

Description: modified (diff)

comment:2 Changed 5 years ago by Tim Graham

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:3 Changed 5 years ago by Adrian Turjak

comment:4 Changed 5 years ago by Tim Graham

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 Changed 5 years ago by Maina Nick

Owner: changed from nobody to Maina Nick
Status: newassigned

comment:6 Changed 5 years ago by Kosei Kitahara

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 Changed 4 years ago by Adrian Turjak

@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 Changed 3 years ago by Claude Paroz

Owner: Maina Nick deleted
Status: assignednew

comment:9 Changed 3 years ago by Nick Pope

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

comment:10 Changed 3 years ago by Mariusz Felisiak <felisiak.mariusz@…>

In e2013b26:

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

comment:11 Changed 3 years ago by Mariusz Felisiak <felisiak.mariusz@…>

In cc1f2c6a:

Refs #29887 -- Simplified memcached client instantiation.

comment:12 Changed 3 years ago by Mariusz Felisiak <felisiak.mariusz@…>

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 Changed 3 years ago by Mariusz Felisiak <felisiak.mariusz@…>

In cda0a3d7:

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

comment:14 Changed 3 years ago by Mariusz Felisiak <felisiak.mariusz@…>

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