Redis — это хранилище данных в памяти. Это означает, что он хранит данные в системной памяти. Возможность хранить данные в ОЗУ очень важна для повышения производительности, поскольку не требует полного кругового обращения к диску для выборки данных.
Однако хранение данных в памяти имеет существенный недостаток. Когда размер данных растет экспоненциально, для обработки данных требуется больший объем ОЗУ. Добавление дополнительной оперативной памяти по мере роста объема данных может быть дорогостоящим и может привести к совместимости оборудования и сбоям.
Хотя хранилище и размер влияют на все системы баз данных, это больше заявлено в базах данных в памяти, таких как Redis или Memcached. Следует иметь в виду, что Redis не разрабатывается как центральная база данных для крупных приложений.
Чтобы отслеживать, что происходит в вашей базе данных Redis, нам нужен способ отслеживать использование памяти.
В следующих подразделах руководства мы изучим различные команды для изучения использования памяти в нашем кластере Redis.
Redis предоставляет вам команду CLI для просмотра подробной информации об использовании памяти кластером.
Чтобы запустить команду, откройте терминал и введите:
redis-cli info memory
Приведенная выше команда должна дать пример вывода, как показано на снимке экрана ниже:
Давайте обсудим, что влечет за собой каждая запись из приведенной выше команды. Стоит отметить, что мы рассмотрим только самые важные из них. Дополнительную информацию см. В документации.
Выше приведены некоторые важные записи из команды INFO MEMORY. Вы можете узнать больше в официальной документации Redis: https://redis.io/commands/INFO
Вы можете использовать две основные команды, если хотите просмотреть ключи в хранилище данных Redis.
Примеры:
redis-cli -n 0 dbsize (integer) 59
Приведенная выше команда показывает количество действительных ключей в базе данных с индексом 0.
redis-cli info keyspace # Keyspace db0:keys=59,expires=0,avg_ttl=0
Приведенная выше команда предоставляет более подробную информацию о ключах.
Вы можете использовать команду MEMORY USAGE, чтобы увидеть количество байтов, использованных конкретным ключом и значением.
Синтаксис такой:
MEMORY USAGE <key>
Например, ниже показано количество байтов, необходимое для хранения ключа «AZ».
MEMORY USAGE AZ (integer) 57
Выходные данные показывают количество байтов, занятых указанным ключом и значением.
Имейте в виду, что приведенная выше команда показывает только информацию о целевом ключе. Следовательно, вам необходимо знать, какой ключ отслеживать.
В этой статье мы обсудили мониторинг использования памяти в кластере Redis. Мы также рассмотрели, как просмотреть использование памяти для определенного ключа в Redis.