Мы используем узел Elasticache Redis для хранения данных.Как пары ключ/значение хранятся в Redis
Все ключи имеют одинаковый формат:
- Ключ - хеш-память md5 - 128 бит (16 байт, 32 строковых символа байтов).
- Значение строки времени - 19 байт.
В целом, размер ключа 32+19=51 bytes
Мы 84 917 361
миллионов ключей.
Я предполагаю, общая память, что оболочка Redis потребляет, близко к 84917361*51 = 4.03 gb
.
Собственно, требуется 11.07 gb
.
Выход info
команды: used_memory_human:11.07G
- На что расходуется остальная часть памяти,
7 gb
? - Есть ли способ хранить
md5
как хэш 16 байтов, а не строку с 32 символами?
Спасибо, любая помощь очень ценится.
Возможно, вас заинтересует [эта статья] (https://redis.io/topics/memory-optimization), особенно часть о влиянии клавиш на клавиши на хеши. –
Спасибо @ Кевин Кристофер Генри, я буду реализовывать предложения. – antonbormotov