Почему django cache.set() хранит странные символы
Когда я сохраняю строку через кэш-фреймворк django
from django.core.cache import cache
cache.set('host_cache_key_81e44325-c046-44c6-88d7-bad7cd91ec13', ""brown.example.com:8006")
И попытайтесь извлечь значение:
127.0.0.1:6379> get :1:host_cache_key_81e44325-c046-44c6-88d7-bad7cd91ec13
"\x80\x05\x95&\x00\x00\x00\x00\x00\x00\x00\x8c\"brown.example.com:8006\x94."
Я получаю некоторые странные символы вокруг него, почему это так и как сделать так, чтобы он не делал этого?
Django использует pickle для хранения данных, которые хранятся в кэше, то, что вы видите - это строка, сериализованная в формате pickle.
В качестве примера вот вывод, который я получаю при мариновании строки примера
>>> import pickle
>>> pickle.dumps("brown.example.com:8006")
b'\x80\x04\x95\x1a\x00\x00\x00\x00\x00\x00\x00\x8c\x16brown.example.com:8006\x94.'