Обмен технологиями

Конфигурация и оптимизация NoSQL REDIS

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Введение в Redis

Redis (Remote Dictionary Server) — это база данных NoSQL с открытым исходным кодом, написанная на языке C. Она работает на основе памяти и поддерживает постоянство, используя форму хранения «ключ-значение». Redis широко используется в системах кэширования, анализа в реальном времени, ранжировании и других сценариях благодаря своей высокой производительности, богатой поддержке типов данных и атомарным операциям.
Серверная программа Redis представляет собой однопроцессную модель, то есть на одном сервере может быть запущено несколько процессов Redis одновременно, а фактическая скорость обработки Redis полностью зависит от эффективности выполнения основного процесса. Если на сервере запущен только один процесс Redis, то при одновременном доступе к нему нескольких клиентов производительность сервера в определенной степени снизится; если на одном сервере открыто несколько процессов Redis, Redis улучшит возможности одновременной обработки. В то же время это будет оказывать большую нагрузку на процессор сервера. То есть: в реальной производственной среде вам нужно решить, сколько процессов Redis запустить, исходя из реальных потребностей. Если у вас более высокие требования к высокому параллелизму, вы можете рассмотреть возможность запуска нескольких процессов на одном сервере. Если ресурсы ЦП ограничены, можно использовать один процесс.

2. Установка Redis в Linux

В основном существуют следующие способы установки Redis в Linux:

1. Установите с помощью менеджера пакетов.

Для большинства дистрибутивов Linux Redis можно установить напрямую с помощью менеджера пакетов.Например, в Ubuntu или Debian вы можете использоватьapt-getЗаказ:

bash复制代码

sudo apt-get update
sudo apt-get install redis-server

В CentOS или Red Hat используйтеyumЗаказ:

bash复制代码

sudo yum update
sudo yum install redis

2. Скомпилируйте и установите из исходного кода.

Другой способ установки — загрузить исходный код с официального сайта Redis, а затем скомпилировать и установить его. Действуйте следующим образом:

  1. Установите инструменты компиляции

    Во-первых, вам необходимо установить инструменты компиляции, такие как gcc.В CentOS или Red Hat вы можете использоватьyumУстановить:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Загрузите исходный код Redis

    Загрузите последнюю версию сжатого пакета (например, redis-6.xxtar.gz) с официального сайта Redis.

  3. Скомпилируйте и установите

    Разархивируйте загруженный сжатый пакет, войдите в каталог распаковки и выполните команды компиляции и установки:

    bash复制代码

    tar zxvf redis-6.x.x.tar.gz
    cd redis-6.x.x
    make && make PREFIX=/usr/local/redis install
  4. Настройка службы Redis

    Вы можете использовать то, что предоставляет Redisinstall_server.shСкрипт для настройки службы Redis или настройка вручную.

3. Настройка и оптимизация Redis

1. Конфигурационный файл

Файл конфигурации Redis обычноredis.conf, вы можете настроить различные параметры Redis, изменив этот файл.

  • Привязать адрес : по умолчанию Redis принимает соединения только с локального интерфейса.Если вы хотите, чтобы Redis принимал соединения с других хостов, вам необходимо изменитьbindвариант или закомментируйте строку.
  • защищенный режим : Redis по умолчанию работает в защищенном режиме и принимает соединения только с адреса 127.0.0.1. Отключение защищенного режима позволяет осуществлять удаленные подключения.
  • Аутентификация по паролю: Чтобы повысить безопасность, вы можете установить пароль для Redis.
  • Упорство : Redis поддерживает два механизма сохранения: RDB и AOF. Постоянство можно включить, установив параметры в файле конфигурации.
  • Максимальный лимит памяти: вы можете установить максимальное использование памяти Redis и стратегию устранения при достижении максимальной памяти.

2. Оптимизация производительности

Оптимизация производительности Redis в основном включает в себя управление распределением памяти, настройки подкачки, оптимизацию сетевых подключений и т. д.

  • Контроль распределения памяти

    в операционной системе Linuxvm.overcommit_memory Параметры управляют стратегией распределения памяти. Redis рекомендует установить для этого параметра значение 1, чтобы операции вилки могли успешно выполняться даже в ситуациях с нехваткой памяти.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • настройки подкачки

    Параметр swappiness определяет склонность операционной системы использовать swap. Для приложений, которым требуется высокий уровень параллелизма и высокая пропускная способность, рекомендуется установить более низкое значение swappiness, чтобы уменьшить вероятность того, что дисковый ввод-вывод станет узким местом системы.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Оптимизация сетевого подключения

    Обеспечьте стабильное сетевое соединение и уменьшите задержку сети и потерю пакетов.В то же время разумно настройте параметры TCP Redis, такие какtcp-keepaliveи т. д. для повышения стабильности и надежности сетевого соединения.

3. Мониторинг и отладка

  • Просмотр статуса Redis

    можешь использоватьredis-cliКоманда для подключения к серверу Redis и выполненияINFOкоманда для просмотра текущего состояния Redis, включая использование памяти, состояние постоянства, количество подключений и т. д.

  • Просмотр файлов журналов

    Файлы журналов Redis обычно расположены по адресу/var/log/redis/redis-server.log, вы можете получить информацию об ошибках и статусе работы, просмотрев файл журнала.