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 или в каталоге src выполнить следующую команду:
./redis-cli
С помощью этой команды вы входите в интерактивный интерфейс оболочки.Команда ./redis-cli может принимать некоторые параметры, такие как -h IP для входа в экземпляр Redis указанной машины.После входа вы можете выполнять некоторые операции, как показано на следующий рисунок:
закрыть
Есть два способа закрыть Redis: один — закрыть интерактивный интерфейс оболочки, другой — убить + номер процесса, чтобы закрыть экземпляр Redis.
Интерфейс оболочки закрывается
shutdown [nosave|save]
Введите команду shutdown в интерактивном интерфейсе оболочки, чтобы завершить работу экземпляра Redis, а затем необязательный параметр, nosave означает, что данные не сохраняются в памяти, а save означает, что данные сохраняются в памяти. метод выключения — более элегантный метод выключения, рекомендуется использовать этот метод выключения.
Kill + идентификатор процесса закрывает экземпляр Redis
использоватьps -ef|grep 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, как показано на следующем рисунке:
Вышеупомянутое - просто запустить 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
команду, как показано на следующем рисунке:
Таким образом, мы входим в настоящую виртуальную машину.Мы работаем на виртуальной машине.Как и наша установка на 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 будет учиться и добиваться прогресса вместе.