[patch] memcached backend can't use keys containing spaces
|Reported by:||recalcitrare@…||Owned by:||jacob|
|Component:||Core (Cache system)||Version:||master|
|Cc:||Triage Stage:||Design decision needed|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I wanted to use memcached to cache pages whose URLs contain spaces, but was told 'Client.MemcachedKeyCharacterError, "Control characters not allowed"'. The memcache module refuses to use keys longer than 250 characters or containing "control characters", which it defines as anything with a decimal ASCII code below 33 -- which includes the space character.
So the attached memcached backend uses a hash (SHA1) of the URL as the cache key as necessary. Seems to perform OK in my limited seat-of-the-pants usage; I suppose urllib.quote might be faster, but wouldn't help with long URLs.
Change History (4)
Changed 10 years ago by recalcitrare@…
comment:1 Changed 10 years ago by recalcitrare@…
- Summary changed from memcached backend can't use keys containing spaces to [patch] memcached backend can't use keys containing spaces
comment:2 Changed 10 years ago by SmileyChris
- Triage Stage changed from Unreviewed to Design decision needed