Какой быстрый способ сжимать объекты Python (список, словарь, строку и т. Д.) Перед сохранением их в кеш и распаковывать после чтения из кеша?
Я' Я использую Django, и я надеюсь добавить поддержку сжатия / распаковки непосредственно в бэкэнд кеша Django, что делает его доступным для всех моих приложений Django.
Я посмотрел в django / core / cache / backends / memcached.py
import cmemcache as memcache
class CacheClass(BaseCache):
def __init__(self, server, params):
BaseCache.__init__(self, params)
self._cache = memcache.Client(server.split(';'))
def get(self, key, default=None):
val = self._cache.get(smart_str(key))
if val is None:
return default
return val
def set(self, key, value, timeout=0):
self._cache.set(smart_str(key), value, self._get_memcache_timeout(timeout))
Похоже на pickle / unpickle выполняется библиотекой cmemcache. Я не знаю, куда поместить код сжатия / распаковки.