Не сериализуйте и не сериализуйте (Pickle и Unpickle) данные во время чтения и записи с Redis - PullRequest
0 голосов
/ 15 апреля 2019

Я работаю в системе, в которой несколько баз кода обращаются к одному и тому же экземпляру redis, поэтому при чтении некоторых данных, записанных из другой базы кода, в среде django я получаю следующую ошибку.

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/django_redis/cache.py", line 32, in _decorator
    return method(self, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/django_redis/cache.py", line 81, in get
    client=client)
  File "/usr/local/lib/python3.5/dist-packages/django_redis/client/default.py", line 210, in get
    return self.decode(value)
  File "/usr/local/lib/python3.5/dist-packages/django_redis/client/default.py", line 318, in decode
    value = self._serializer.loads(value)
  File "/usr/local/lib/python3.5/dist-packages/django_redis/serializers/pickle.py", line 35, in loads
    return pickle.loads(value)
_pickle.UnpicklingError: invalid load key, '{'.

По сути, Django пытается десериализовать (распаковать) данные, хотя данные даже не сериализуются (перебираются). Могу ли я отключить это травление и снятие травления в django-redis

...