Redis ist eine häufig verwendete NoSQL-Datenbank. Dies ist ein Artikel über die Redis-Installation, daher sind die erweiterten Funktionen und Verwendungsszenarien von Redis nicht mit den meisten POSIX-Systemen kompatibel Linux, OS, die GitHub-Adresse lautet: https://github.com/microsoftarchive/redis. Ich habe überprüft, dass die obige Version relativ alt ist, daher empfehle ich persönlich nicht, diese für die Installation von Redis zu verwenden Installieren Sie es, was auch sehr bequem und einfach ist. Schauen wir uns als Nächstes an, wie Sie Redis installieren.
1. Installieren Sie Redis unter einem Linux-System
Installieren Sie
auf dem Redis Offizielle Website Es gibt ein Installations-Tutorial, Link: https://redis.io/download, ich habe die Installationsschritte kopiert, die Schritte sind wie folgt:
$ 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
Ich habe unter /usr/local gearbeitet Verzeichnis Diese Befehle, das heißt, das Installationsverzeichnis von Redis ist /usr/local Nach der Ausführung dieser Befehle wird Redis während des Installationsvorgangs installiert nicht auf Ihrem Computer >gcc installiert ist, erhalten Sie möglicherweise die folgende Fehlermeldung, wenn Sie gcc installieren und dann Folgendes erstellen:
jemalloc/jemalloc.h: Keine solche Datei oder kein solches VerzeichnisZu diesem Zeitpunkt gab es kein Abfangen. Für die detaillierte Fehlermeldung wurde nur der Hauptabschnitt ausgeschnitten. Der Grund für diesen Fehler ist, dass nach unserem letzten Make-Fehler kompilierte Dateien vorhanden waren, die wir löschen müssen die letzten Restdateien und dann neu kompilieren. Ersetzen Sie einfach
durch make distclean && make.
redis.conf-Dateiredis.conf
ist die Konfigurationsdatei von Redis. Diese Datei enthält Die große Version enthält fast 1.400 Zeilen. Sie können diese Konfigurationsdatei im Detail lesen. In den meisten Fällen können wir die Standardkonfiguration verwenden und nur eine kleine Menge festlegen Konfiguration. Der Speicherort von redis.conf befindet sich im Redis-Installationsverzeichnis. In meinem Fall befindet er sich im Verzeichnis /usr/local/redis-5.0.5 : ● bind 127.0.0.1: Ermöglicht den Zugriff auf die IP der Maschine. Standardmäßig kann nur diese Maschine darauf zugreifen, aber wenn Sie möchten Damit alle Maschinen erreichbar sind, legen Sie die direkte Bindung auf 0.0.0.0 fest.
● Port 6379: Der Port, an dem die Redis-Instanz gestartet wird, der Standardwert ist 6379
● daemonize no: Ob als Daemon-Prozess ausgeführt werden soll, der Standardwert ist „no“, was bedeutet, dass Sie dies getan haben Beim Schließen des Startfensters wird die Redis-Instanz geschlossen. Im Allgemeinen setzen wir diese Option auf „Ja“ und führen sie einfach als Daemon-Prozess aus.
● pidfile /var/run/redis_6379.pid: Wenn wir es im Daemon-Modus ausführen, wird eine Datei mit dem Suffix .pid generiert. Sie können auch die Standarddatei
verwenden dir ./: Der Speicherort für persistente Dateien ist besser, ich setze ihn hier auf dir /usr/local/redis_data
● appendonly no: Ob der AOF-Persistenzmodus aktiviert werden soll, Redis-Standard Nur der RDB-Modus ist aktiviert, hier stellen wir ihn auf Ja, beide Methoden sind aktiviert, doppelte Versicherung, wir werden später erfahren
● Es scheint, dass dies die einzigen Einstellungen sind. Weitere Informationen zur Konfiguration von redis.conf finden Sie in der Konfigurationsdatei redis.conf im Detail oder im entsprechenden Handbuch.
Redis-StartupDer Redis-Start ist sehr einfach. Nach Abschluss der Redis-Installation wird die Redis-Shell in /usr/local/redis-5.0.5 gespeichert /src Interaktive Befehle, einschließlich redis-server, dem Startbefehl von Redis, führen Folgendes aus:
./redis-server /usr/local/redis-5.0.5/redis.confAuf folgt der Dateipfad von redis.conf. Wenn nichts anderes passiert, wird die folgende Oberfläche angezeigt:
这里我们使用的是守护进程的方式启动,所以不会出现带有 redis logo 的启动界面,我们可以使用 shell 命令登录到 Redis 中,还是在 src 目录下面,执行下面这条命令:
./redis-cli
这命令你就进入了 shell 交互界面,./redis-cli 命令可以带一些参数,例如 -h IP 这个就可以进入指定机器的 Redis 实例,进入之后你就可以进行一些操作了,如下图所示:
redis 关闭
Redis 的关闭方式有两种,一种是在 shell 交互界面关闭,另一种是 kill + 进程号关闭 Redis 实例的方式
shell 交互界面关闭
shutdown [nosave|save]
在 shell 交互界面输入 shutdown 命令就可以关闭 Redis 实例,后面有一个可选参数,nosave 就是不将内存中的数据持久化,save 就是将内存中的数据持久化。shutdown 关闭方式是比较优雅的关闭方式,建议使用这种关闭方式
Kill + 进程号关闭 Redis 实例
使用 ps -ef|grep 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 配置,我们先来看看这几个参数的意思
3、使用 redis
通过上面的步骤,我们已经在 Docker 中启动了 Redis 服务,下面我们就来通过 redis-cli 访问一下,使用下面这条命令就可以启动 redis-cli
docker exec -it dockerRedis redis-cli
wobei dockerRedis der Name des Redis-Containers ist, den Sie starten. Wenn nichts anderes passiert, können Sie einen Redis-CLI-Client starten, wie in der Abbildung unten gezeigt:
Das oben Gesagte besteht darin, Redis einfach mit Docker zu starten. Dies ist insgesamt viel bequemer als die Installation und der Start unter Linux. Der Hauptgrund ist, dass Sie es auf einem Windows-System ausführen können Am Ende sind wir uns dieses Prozesses nicht bewusst. Sie fragen sich vielleicht: Ist es möglich, redis.conf beim Start zu kennen? Die Antwort ist machbar, aber wenn Sie Docker nicht kennen, stoßen Sie möglicherweise auf einige Fallstricke, da ich Docker nicht sehr gut kenne Parameterdatei übergeben. Bezüglich der Angabe der Konfigurationsdatei beim Start gibt es Anweisungen im Redis-Image, aber es ist unter Linux, nicht die Docker-Konfigurationsmethode unter Windows-System, also habe ich Baidu zum folgenden Befehl
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
Dieser Befehl ist eine Falle, er existiert überhaupt nicht. Wenn Sie diesen Befehl starten, erhalten Sie die folgende Rückmeldung:
Offensichtlich dies Befehl existiert nicht. Natürlich ist dies nur meine persönliche Meinung. Vielleicht habe ich einen Fehler gemacht, vielleicht habe ich nicht genug Wissen. Wenn Freunde Fehler finden, werde ich das bitte als Fehler behandeln Hier ist der richtige Weg: Die Datei redis.conf wird auf dem Host-Computer gespeichert. Offensichtlich ist der Docker-Host-Computer kein Windows-System, sondern eine virtuelle Maschine, die auf dem Windows-System gestartet wird Die Standardschnittstelle für den Start des Docker Quickstart Terminals ist nicht authentisch. Melden Sie sich daher bei der virtuellen Maschine an und verwenden Sie den Befehl docker-machine ssh, wie in der Abbildung unten gezeigt :
Auf diese Weise geben wir ein: In einer echten virtuellen Maschine betreiben wir eine virtuelle Maschine. Genau wie bei unserer Installation unter Linux erstellen wir zunächst zwei Verzeichnisse, um die Redis zu speichern Konfiguration:
/usr/ local/redis: speichert redis.conf
/usr/local/redis/data: speichert persistente Dateien
Nach dem Erstellen der beiden Verzeichnissen legen wir redis.conf in /usr/ ab. Verwenden Sie im Verzeichnis local/redis den folgenden Docker-Befehl, um das Redis-Image zu starten:
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
Dieser Docker-Startbefehl unterscheidet sich ein wenig vom oben genannten. Es gibt zwei Parameter, die ich hier erklären werde:
● -v /usr/local/. redis/redis.conf:/usr/local/etc/ redis/redis.conf: Dieser Parameter dient zum Kopieren von /usr/local/redis/redis.conf nach /usr/local/etc/redis/redis.conf
● -v /usr/local/redis /data:/data: Der Speicherort persistenter Dateien im Container wird auch dem Host zugeordnet. Mit anderen Worten: persistente Dateien werden auch in /usr/local gespeichert /redis/data
Zu diesem Zeitpunkt ist auch die Docker-Installation abgeschlossen. Wenn keine besonderen Anforderungen bestehen, verwenden Sie einfach einen einfachen Docker. Dies ist einfach, bequem und völlig ausreichend .
Weitere Informationen zu Redis finden Sie in der Spalte Tutorial zur Redis-Nutzung!
Das obige ist der detaillierte Inhalt vonZwei Installations- und Bereitstellungsmethoden von Redis (ausführliche Erklärung mit Bildern und Texten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!