Я понял!
Мне нужно было установить атрибуты как JSONField.
Мое решение:
class CarSerializer(serializers.ModelSerializer):
attributes = serializers.JSONField()
class Meta:
model = Car
fields = "__all__"
Как автор spymemcached , я немного предвзят, но я бы сказал, что он принадлежит мне по следующим причинам:
Когда вы запрашиваете данные, выдаете набор и т. Д., Есть одна крошечная параллельная вставка в очередь, и вы получаете Future для блокировки результатов (с некоторыми удобными методами для общих случаев, такими как get).
Вы можете прочитать больше на моей странице оптимизации , но я занимаюсь оптимизацией всего приложения.
Я по-прежнему неплохо справляюсь с микротестами, но для справедливого сравнения с другим клиентом вам нужно изобретать нереалистичные шаблоны использования (например, ожидание ответа на каждую установленную операцию или построение блокировок вокруг, чтобы удержать их от делаем оптимизацию пакетов).
Я поддерживаю довольно строгий набор тестов с отчетами о покрытии в каждом выпуске.
Ошибки все еще появляются, но обычно они довольно незначительны, и клиент продолжает улучшаться. :)
Страница примеров дает краткое введение, но javadoc содержит огромные детали.
У меня есть интерфейс Map для кеша, а также функциональная абстракция CAS. И двоичный, и текстовый формат поддерживают механизм incr-with-default (предоставляемый двоичным протоколом, но довольно сложный для текста).
Я выполняю много работы над самим сервером, поэтому я не отставал от изменений протокола.
Я сделал первые реализации сервера бинарного протокола (как тестовый сервер, так и в самом memcached), и это был первый готовый к работе клиент, который его поддерживал, и делает это первоклассно.
У меня также есть поддержка нескольких алгоритмов хеширования и алгоритмов распределения узлов, каждый из которых хорошо протестирован для каждой сборки. Вы можете сделать стандартный хеш-код кетамы или его производную с использованием FNV-1 (или даже собственного хеширования строк java), если вам нужна лучшая производительность.
Примерно год назад, когда мне приходилось использовать Java-клиент memcached, коннектор spymemcached был описан как оптимизированный API с большим количеством функций. С тех пор появилось несколько новых выпусков клиента memcached, поэтому, возможно, стоит проверить.
FWIW шпионский клиент отлично сработал для меня.
Имеется клиент memcached для Java и spymemcached . Хотя и с ними не так много опыта.
Я использовал SpyMemcached и должен согласиться, что это лучший из имеющихся, с множеством новых улучшений.
Попробуйте xmemcached , он также основан на nio и обладает некоторыми мощными функциями.
Я считаю java-клиент memcached лучшим клиентом.
Если эти номера все еще действительны, то ... http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html