Как мы перестали хранить Pydantic в JSON и в 7 раз сократили расход памяти в Redis

У нас был большой продакшен-сервис с ~10M MAU, где Redis использовался как основное хранилище состояния пользователей. Все данные лежали в нём в виде JSON-сериализованных Pydantic-моделей. Это выглядело удобно, пока не стало больно.
На определённом этапе мы выросли до Redis Cluster из пяти нод – и он всё равно задыхался по памяти. JSON-объекты раздувались в разы относительно полезных данных, и мы платили за тонны пустоты — буквально деньгами и деградацией.
Я посчитал сколько весят реально полезные данные и получил цифру, от которой понял, что так жить больше нельзя.

















