Maison  >  Article  >  base de données  >  Deux méthodes d'installation et de déploiement de Redis (explication détaillée avec images et textes)

Deux méthodes d'installation et de déploiement de Redis (explication détaillée avec images et textes)

angryTom
angryTomavant
2019-11-28 15:24:552284parcourir

Redis est une base de données NoSQL couramment utilisée. Nous utilisons généralement Redis pour la mise en cache. Il s'agit d'un article sur l'installation de Redis, il n'impliquera donc pas les fonctionnalités avancées et les scénarios d'utilisation de Redis, qui sont compatibles avec la plupart des systèmes POSIX. Linux, OS, l'adresse GitHub est : https://github.com/microsoftarchive/redis J'ai vérifié que la version ci-dessus est relativement ancienne, donc personnellement, je ne recommande pas de l'utiliser pour installer Redis. Les utilisateurs Windows peuvent utiliser des conteneurs Docker pour. installez-le, ce qui est également très pratique et simple. Voyons ensuite comment installer Redis.

Deux méthodes d'installation et de déploiement de Redis (explication détaillée avec images et textes)

1. Installez redis sous le système Linux

Installez

sur le redis site officiel Il y a un tutoriel d'installation, lien : https://redis.io/download, j'ai copié les étapes d'installation, les étapes sont les suivantes :

$ 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

J'ai opéré sous le /usr/local répertoire Ces commandes, c'est-à-dire que le répertoire d'installation de Redis est /usr/local Après avoir exécuté ces commandes, Redis sera installé sur votre machine, si gcc, vous pouvez obtenir l'erreur suivante lorsque vous installez gcc puis créez :

jemalloc/jemalloc.h : Aucun fichier ou répertoire de ce type

Il n'y a pas eu d'interception à ce moment-là. Pour le message d'erreur détaillé, seule la section principale a été supprimée. La raison de cette erreur est qu'après notre dernière erreur, il y avait des fichiers compilés, nous devons donc les effacer. les derniers fichiers résiduels puis recompilez

make Remplacez simplement par make distclean && make.

fichier redis.conf

redis.conf est le fichier de configuration de Redis Toutes les configurations de redis sont dans ce fichier. est assez Le grand contient près de 1 400 lignes. Les instructions de fonctionnement et d'utilisation de redis sont toutes contenues. Vous pouvez lire ce fichier de configuration en détail. Dans la plupart des cas, nous pouvons utiliser la configuration par défaut et n'avons besoin que d'en définir une petite quantité. configuration. L'emplacement de stockage de redis.conf se trouve dans le répertoire d'installation de Redis. Dans mon cas, il se trouve sous le répertoire /usr/local/redis-5.0.5. :

● bind 127.0.0.1 : Permet d'accéder à l'IP de la machine Par défaut, seule cette machine peut y accéder Vous pouvez modifier l'IP pour qu'elle s'exécute sur d'autres machines et y accéder également. machines pour y avoir accès, configurez-le directement pour que la liaison 0.0.0.0 fasse l'affaire.

● port 6379 : le port sur lequel l'instance Redis est démarrée, la valeur par défaut est 6379

● daemonize no : s'il faut s'exécuter en tant que processus démon, la valeur par défaut est non, ce qui signifie que vous avez fermé la fenêtre de démarrage, l'instance redis est fermée. Généralement, nous définissons cette option sur yes et l'exécutons en tant que processus démon. Pour faire simple, elle s'exécute en arrière-plan.

● pidfile /var/run/redis_6379.pid : Si nous l'exécutons en mode démon, un fichier avec le suffixe .pid sera généré. Vous pouvez également utiliser celui par défaut

● dir ./ : L'emplacement de stockage des fichiers persistants. Il est préférable de définir cette configuration. Je l'ai défini ici sur dir /usr/local/redis_data

greement no : s'il faut activer le mode de persistance AOF, redis par défaut. Seul le mode RDB est activé, ici nous le définissons sur oui, les deux méthodes sont activées, double assurance Concernant les différences entre ces deux méthodes, nous l'apprendrons plus tard

● Il semble que ce soient les seuls paramètres. Pour plus d'informations sur la configuration de redis.conf, vous pouvez lire le fichier de configuration redis.conf en détail ou consulter le manuel correspondant.

Démarrage de Redis

Le démarrage de Redis est très simple. Une fois l'installation de Redis terminée, le shell Redis sera stocké dans /usr/local/redis-5.0.5. /src Les commandes interactives, y compris redis-server, qui est la commande de démarrage de Redis, exécutent :

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

est suivi du chemin du fichier redis.conf Si rien d'autre ne se produit, nous démarrerons avec succès. Vous verrez l'interface suivante :

redis 启动.

这里我们使用的是守护进程的方式启动,所以不会出现带有 redis logo 的启动界面,我们可以使用 shell 命令登录到 Redis 中,还是在 src 目录下面,执行下面这条命令:

./redis-cli

这命令你就进入了 shell 交互界面,./redis-cli 命令可以带一些参数,例如 -h IP 这个就可以进入指定机器的 Redis 实例,进入之后你就可以进行一些操作了,如下图所示:

redis 操作

redis 关闭

Redis 的关闭方式有两种,一种是在 shell 交互界面关闭,另一种是 kill + 进程号关闭 Redis 实例的方式

shell 交互界面关闭

shutdown [nosave|save]

在 shell 交互界面输入 shutdown 命令就可以关闭 Redis 实例,后面有一个可选参数,nosave 就是不将内存中的数据持久化,save 就是将内存中的数据持久化。shutdown 关闭方式是比较优雅的关闭方式,建议使用这种关闭方式

Kill + 进程号关闭 Redis 实例

使用 ps -ef|grep redis 查看 Redis 进程号,如下图所示:

查看 redis 进程号

在这里找到我们需要关闭 redis 实例的进程号,比如这里我们的进程号为 27133,那么我们就直接使用 kill 27133 关闭 Redis 实例服务,这种方式我们需要注意一个地方,那就是需要我们去把 pid 文件删掉,pid 文件存放的位置我们在 redis.conf 里配置的 pidfile /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、Docker 安装 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 的启动命令,跟我们 linux 下面的 ./redis-server 一样
  • --appendonly yes:开启 AOF 持久化

3、使用 redis    

通过上面的步骤,我们已经在 Docker 中启动了 Redis 服务,下面我们就来通过 redis-cli 访问一下,使用下面这条命令就可以启动 redis-cli

docker exec -it dockerRedis redis-cli

où dockerRedis est le nom du conteneur Redis que vous démarrez. Si rien d'autre, vous pouvez démarrer un client redis-cli, comme indiqué dans la figure ci-dessous :

docker redis-cli 客户端

Ce qui précède consiste simplement à démarrer Redis à l'aide de Docker. Dans l'ensemble, c'est beaucoup plus pratique que d'installer et de démarrer sous Linux. La raison principale est que vous pouvez l'exécuter sur un système Windows, même s'il fonctionnera toujours sous Linux. fin, nous ignorons ce processus. Vous pouvez demander : est-il possible de connaître redis.conf au démarrage ? La réponse est faisable, mais si vous ne connaissez pas Docker, vous risquez de rencontrer des pièges. Je l'ai rencontré car je ne connais pas très bien Docker. Lorsque j'utilise habituellement Docker, il me suffit de transmettre des paramètres. besoin de transmettre le fichier de paramètres. Concernant la spécification du fichier de configuration au démarrage, il y a des instructions dans l'image redis, mais c'est sous Linux, pas la méthode de configuration Docker sous le système Windows, donc je Baidu à la commande suivante

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

Cette commande est un piège, elle n'existe pas du tout. Si vous lancez cette commande, vous obtiendrez le retour suivant :

Deux méthodes d'installation et de déploiement de Redis (explication détaillée avec images et textes)

Évidemment ceci. la commande n'existe pas Bien sûr, ce n'est que mon opinion personnelle. Peut-être que j'ai fait une erreur dans mon opération, peut-être que je n'ai pas assez de connaissances. Si des amis trouvent des erreurs, donnez-moi quelques conseils, je les traiterai comme une erreur. ici. La bonne manière est dans Docker. Le fichier redis.conf est stocké sur la machine hôte. Évidemment, la machine hôte Docker n'est pas un système Windows, mais une machine virtuelle démarrée sur le système Windows, nous devons donc entrer dans le virtuel. machine. L'interface par défaut pour le démarrage de Docker Quickstart Terminal n'est pas authentique. Connectez-vous à la machine virtuelle, nous devons donc modifier la méthode de connexion et utiliser la commande docker-machine ssh, comme indiqué dans la figure ci-dessous. :

Docker Quickstart Terminal 启动方式

De cette façon nous entrons Dans une vraie machine virtuelle, nous opérons sur une machine virtuelle Tout comme notre installation sous Linux, nous créons d'abord deux répertoires pour stocker le Redis. configuration :

/usr/ local/redis : stocke redis.conf
/usr/local/redis/data : stocke les fichiers persistants

Après avoir créé les deux répertoires, nous mettons redis.conf dans /usr/ Dans le répertoire local/redis, utilisez la commande Docker suivante pour démarrer l'image 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

Cette commande de démarrage du docker est un peu différente de celle ci-dessus. Il y a deux paramètres que je vais expliquer ici :

● -v /usr/local/. redis/redis.conf:/usr/local/etc/ redis/redis.conf : ce paramètre consiste à copier /usr/local/redis/redis.conf dans /usr/local/etc/redis/redis.conf

● -v /usr/local/redis /data:/data : L'emplacement de stockage des fichiers persistants dans le conteneur sera également mappé sur l'hôte. En d'autres termes, les fichiers persistants seront également stockés dans /usr/local. /redis/data

À ce stade, Installation de Docker Les opérations complexes de Redis sont également terminées. S'il n'y a pas d'exigences particulières, utilisez simplement un simple docker pour le démarrer. C'est simple, pratique et tout à fait suffisant. .

Pour plus de connaissances sur Redis, veuillez visiter la colonne Tutoriel d'utilisation de Redis !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer