Подробно объясните два метода установки и развертывания Redis.

Redis

Redis — это относительно распространенная база данных NoSQL. Обычно мы используем Redis для кэширования. Это статья об установке Redis, поэтому в ней не рассматриваются расширенные функции и сценарии использования Redis. Redis совместим с большинством систем POSIX, таких как Linux, OS X и т. д., но, к сожалению, не поддерживает установку в Windows, конечно, если вам нужно установить Redis под Windows, это также возможно, группа технологий Microsoft с открытым исходным кодом поддерживает ветку Redis на GitHub, адрес GitHub для:https://github.com/microsoftarchive/redis, я взглянул на версию выше, поэтому лично я не рекомендую использовать это для установки Redis. Пользователи Windows могут использовать контейнеры Docker для установки, что также очень удобно и просто. Далее давайте рассмотрим установку Redis , путь.

1. Установите Redis в системе Linux.

Установить

На официальном сайте Redis есть инструкция по установке, ссылка:https://redis.io/download, шаги установки я скопировал, шаги такие:

$ wget http://download.redis.io/releases/redis-5.0.6.tar.gz
$ tar xzf redis-5.0.6.tar.gz
$ cd redis-5.0.6
$ make

Я использую эти команды в каталоге /usr/local, то есть каталог установки Redis — /usr/local.После выполнения этих команд Redis устанавливается на ваш компьютер.В процессе установки, если вы установили Redis на вашем компьютере. Если gcc не установлен, после установки gcc, а затем make может появиться следующая ошибка

jemalloc/jemalloc.h: No such file or directory

На тот момент я не перехватывал детальную информацию об ошибке, перехватывался только основной раздел.Причина этой ошибки в том, что после последнего отчета об ошибке make были скомпилированные файлы, поэтому нам нужно очистить последние остаточные файлы и перекомпилировать , и make make Просто замените его на make distclean && make.

файл redis.conf

Redis.conf - это файл конфигурации Redis. Все конфигурации Redis находятся в этом файле. Этот файл довольно большой и имеет почти 1400 строк. Инструкции по эксплуатации и использованию redis все. Вы можете прочитать этот файл конфигурации в Деталь. В некоторых случаях мы можем использовать конфигурацию по умолчанию и вам нужно только установить небольшое количество конфигурации. Расположение хранения Redis.conf находится в каталоге установки Redis. Я здесь в каталоге /usr/local/redis-5.0.5. Давайте посмотрим на несколько конфигураций, которые мы можем изменить:

  • bind 127.0.0.1: Позволяет доступу к IP-файлу машины, машина может получить доступ только к умолчанию, вы можете изменить IP для запуска других машин может получить доступ, но если вы хотите, чтобы все машины могут получить доступ к нему, установлено наbind 0.0.0.0Вот и все.
  • port 6379: порт для запуска экземпляра Redis, по умолчанию 6379.
  • daemonize no: запускать ли процесс демона, по умолчанию нет, то есть, если вы закрываете окно запуска, экземпляр Redis также закрывается.Как правило, мы устанавливаем для этого параметра значениеyes, запустить как процесс демона, который является фоновой операцией.
  • pidfile /var/run/redis_6379.pid: если мы запустим в режиме демона, будет сгенерирован файл с суффиксом .pid, который также подходит для использования по умолчанию
  • dir ./: Место хранения постоянного файла. Мы по-прежнему устанавливаем эту конфигурацию. Я установил ее здесь какdir /usr/local/redis_data
  • appendonly no: включить ли режим сохранения AOF, redis по умолчанию включает только режим RDB, здесь мы устанавливаем его какyes, включены оба метода, двойная страховка, о разнице между этими двумя способами мы узнаем позже

Кажется, лучше установить эти несколько.Для дополнительной настройки redis.conf вы можете подробно прочитать файл конфигурации redis.conf или обратиться к соответствующим руководствам.

начало редис

Запуск Redis очень прост. После установки Redis интерактивные команды оболочки Redis будут храниться в /usr/local/redis-5.0.5/src.Существует redis-server, который является командой запуска Redis. . Выполнять:

./redis-server /usr/local/redis-5.0.5/redis.conf

Далее следует путь к файлу redis.conf, Если не случайно, то мы успешно запустимся, и вы увидите следующий интерфейс:

redis 启动

Здесь мы используем процесс демона для запуска, поэтому интерфейс запуска с логотипом Redis не появится.Мы можем использовать команду оболочки для входа в Redis или в каталоге src выполнить следующую команду:

./redis-cli

С помощью этой команды вы входите в интерактивный интерфейс оболочки.Команда ./redis-cli может принимать некоторые параметры, такие как -h IP для входа в экземпляр Redis указанной машины.После входа вы можете выполнять некоторые операции, как показано на следующий рисунок:

redis 操作

закрыть

Есть два способа закрыть Redis: один — закрыть интерактивный интерфейс оболочки, другой — убить + номер процесса, чтобы закрыть экземпляр Redis.

Интерфейс оболочки закрывается

shutdown [nosave|save]

Введите команду shutdown в интерактивном интерфейсе оболочки, чтобы завершить работу экземпляра Redis, а затем необязательный параметр, nosave означает, что данные не сохраняются в памяти, а save означает, что данные сохраняются в памяти. метод выключения — более элегантный метод выключения, рекомендуется использовать этот метод выключения.

Kill + идентификатор процесса закрывает экземпляр Redis

использоватьps -ef|grep redisПроверьте идентификатор процесса Redis, как показано на следующем рисунке:

查看 redis 进程号

Найдите здесь номер процесса экземпляра Redis, который нам нужно закрыть. Например, здесь номер нашего процесса — 27133, тогда мы можем использовать его напрямую.kill 27133Чтобы закрыть службу экземпляра Redis, нам нужно обратить внимание на одну вещь таким образом, то есть нам нужно удалить файл pid, а расположение файла pid настраивается в redis.confpidfile /var/run/redis_6379.pid, мы должны/var/runУдалите redis_6379.pid в каталоге, чтобы в следующий раз можно было нормально перезапустить службу Redis.

Вышеупомянутые два метода могут отключить службу Redis. Вы можете выбрать любой из них, но помните, что не следует использовать метод Kill 9 для закрытия процесса Redis, чтобы Redis не выполнял постоянные операции. Кроме того, это также вызовет ресурсы таких как буферы, изящное завершение работы, в крайних случаях, приведет к потере данных AOF и репликации

Redis загружается с самого начала

На сервере нам может понадобиться настроить Redis на автоматический запуск при загрузке.На самом деле это тоже очень просто.Нам нужно всего лишь сделать следующие четыре шага.

1. Напишите скрипт настройки vim /etc/init.d/redis
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
#chkconfig: 2345 80 90
#description:auto_run
# 端口号
REDISPORT=6379
# 启动命令
EXEC=/usr/local/redis-5.0.5/src/redis-server
# shell 交付命令
CLIEXEC=/usr/local/redis-5.0.5/src/redis-cli
# pid 存放位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
# redis 配置文件
CONF="/usr/local/redis-5.0.5/redis.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac
2. Измените redis.conf и установите redis для работы в режиме демона.
################################# GENERAL #####################################

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes
3. Изменить права доступа к файлам
chmod +x /etc/init.d/redis
4. Установите запуск
# 启动 redis
service redis start
# 停止 redis
service redis stop
# 开启服务自启动
chkconfig redis on

2. Докер устанавливает Redis

Docker устанавливает Redis в целом, мне удобнее, я говорю о среде непроизводственной, это среда, которую я взял или изучил.Все следующие шаги основаны на том, что вы установили Docker на свой компьютер, давайте откроем его .Установить поездку.

1. Потяните образ Redis

docker pull redis

2. Быстрый старт

docker run -p 6379:6379 --name myredis -d redis redis-server --appendonly yes

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

  • -p 6379:6379: порт карты, первый 6379 — это внешний порт Redis, а последний 6379 — порт Redis внутри контейнера.
  • --name myredis : имя, соответствующее контейнеру
  • redis redis-server: redis представляет образ redis redis-server представляет выполняемую команду, которая также является командой запуска redis, так же, как ./redis-server в нашем Linux
  • --appendonly yes: открыть постоянство AOF
3. Использование Redis

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

docker exec -it dockerRedis redis-cli

Где dockerRedis — это имя контейнера Redis, который вы запустили, если ничего другого, вы можете запустить клиент redis-cli, как показано на следующем рисунке:

docker redis-cli 客户端

Вышеупомянутое - просто запустить Redis с помощью Docker. В целом, это намного удобнее, чем установка и запуск в Linux. Основная причина в том, что вы можете запустить его в системе Windows. Хотя в конце концов он все еще работает в Linux, мы не в курсе этого процесса... Вы можете спросить: я хочу знать redis.conf во время запуска, возможно ли это? Ответ возможен, но если вы не знаете Docker, вы можете столкнуться с некоторыми ямами. Я столкнулся с этим, потому что я мало знаю о Docker. Обычно при использовании Docker вам нужно только передать параметры. файл. По поводу конфигурационного файла, указанного при запуске, в образе redis есть инструкции, но это под linux, а не метод настройки Docker под систему windows, поэтому я пришел к следующей команде от Baidu

docker run -v /d:/dockerdata/redis/config/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf

Эта команда - яма, такой вещи вообще нет, запустите эту команду, вы получите следующую обратную связь:

Очевидно, что этот порядок бесполезно. Конечно, это просто то, что я лично думаю, что, может быть, у меня ошибка, может быть, я знаю достаточно, если мои друзья найдут ошибки, пожалуйста, посоветуйте, здесь я буду ошибаться, исправить практику - хранить Файл Redis.conf на хосте докера. Понятно, что хост Docker не является системой Windows, а виртуальная машина в системе Windows, поэтому нам нужно ввести виртуальную машину,Docker Quickstart TerminalЗапустите интерфейс по умолчанию и не входите в виртуальную машину, поэтому нам нужно изменить метод входа, используйтеdocker-machine sshкоманду, как показано на следующем рисунке:

Docker Quickstart Terminal 启动方式

Таким образом, мы входим в настоящую виртуальную машину.Мы работаем на виртуальной машине.Как и наша установка на linux, мы сначала создаем две директории для хранения конфигурации Redis:

/usr/local/redis: хранить redis.conf /usr/local/redis/data: хранить постоянные файлы

После создания двух каталогов мы помещаем redis.conf в каталог /usr/local/redis и используем следующую команду Docker для запуска образа Redis:

docker run -p 6379:6379 -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/local/redis/data:/data --name dockerRedis -d redis redis-server /usr/local/etc/redis/redis.conf

Эта команда запуска докера немного отличается от приведенной выше.Здесь я объясню два параметра:

  • -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf: этот параметр предназначен для копирования /usr/local/redis/redis.conf в /usr/local/etc/redis. /redis.conf
  • -v /usr/local/redis/data:/data: место хранения постоянных файлов в контейнере также будет сопоставлено с хостом, другими словами, постоянные файлы также будут храниться в /usr/local/redis/data.

На этом сложная операция по установке Redis в Docker завершена, если нет особых требований, достаточно использовать простой запуск докера, что просто и удобно, и вполне достаточно.

наконец

В настоящее время у многих больших парней в Интернете есть учебники серии Redis.Если есть какие-либо сходства, пожалуйста, потерпите меня. Нелегко быть оригинальным, и нелегко кодировать слова, я также надеюсь, что вы поддержите это. Если в тексте будут ошибки, надеюсь сообщить о них, спасибо.

Добро пожаловать, чтобы отсканировать код и подписаться на общедоступную учетную запись WeChat: «Технический блог Pingtou Ge», Pingtou Ge будет учиться и добиваться прогресса вместе.

平头哥的技术博文