Details zur Installation des Redis-Einführungs- und Visualisierungstools sowie grundlegende Anweisungen zu Redis (Xiaobai++)

1. Einführung und Installation von Redis

1.1 Einführung in Redis

Redis (Remote Dictionary Server), d. h. ein Remote-Wörterbuchdienst, ist eine Open-Source-Lösung, die in der ANSI-C-Sprache geschrieben ist, das Netzwerk unterstützt, speicherbasierte oder persistente Protokolltypen sowie eine Schlüsselwertdatenbank sein kann und APIs in mehreren Sprachen bereitstellt. Seit dem 15. März 2010 wird die Entwicklung von Redis von VMware gehostet und seit Mai 2013 wird die Entwicklung von Redis von Pivotal gesponsert.

Was kann Redis tun?

  1. Speicherspeicher und Persistenz gehen beim Ausschalten verloren. Daher ist Persistenz sehr wichtig. Redis verwendet zwei Mechanismen (RDB und AOF).
  2. Hohe Effizienz, kann für hohe Geschwindigkeitseffizienz verwendet werden
  3. Veröffentlichungs-Abonnement-System
  4. Karteninformationsanalyse
  5. Zähler usw., Website-Aufrufe

Redis-Funktionen/Eigenschaften

  1. verschiedene Datentypen
  2. Beharrlichkeit
  3. Cluster
  4. Angelegenheiten usw.

1.2 Installieren Sie Redis in CentOS7

1.2.1 gcc installieren

gcc unter Linux ist ein leistungsstarker Multiplattform-Compiler mit überlegener Leistung, der von GNU eingeführt wurde. Der gcc-Compiler kann C- und C++-Sprachquellprogramme und Objektprogramme kompilieren und in ausführbare Dateien verknüpfen. gcc unter Linux ist ein leistungsstarker Multiplattform-Compiler mit überlegener Leistung, der von GNU eingeführt wurde. Der gcc-Compiler kann C- und C++-Sprachquellprogramme und Objektprogramme kompilieren und in ausführbare Dateien verknüpfen.Der gcc unter Linux ist ein leistungsstarker Multiplattform-Compiler mit überlegener Leistung, der von GNU eingeführt wurde . Der g cc- Compiler kann C , C konvertieren++ Sprachquellprogramm und Zielprogramm werden kompiliert und in ausführbare Dateien verknüpft.

Da Redis von der C++-Umgebung abhängt, müssen wir C++ installieren

yum install gcc-c++

Sie können die Version mit gcc -v überprüfen

gcc -v

Aktualisieren Sie die Version, da redis7.* die Unterstützung einer höheren Version von gcc erfordert, um 4 separat auszuführen

yum -y install centos-release-scl 
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils #修改使用版本
scl enable devtoolset-9 bash 
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

Überprüfen Sie weiterhin das Upgrade der gcc-Version auf 9.*, um die Installation abzuschließen

1.2.2 Laden Sie Redis herunter und installieren Sie es

Redis kann unter Windows und Linux installiert und verwendet werden, die Windows-Systemversion wurde jedoch vor langer Zeit gestoppt, sodass die Verwendung nicht empfohlen wird.

Offizielle Website https://redis.io/ Chinesische Website http://www.redis.cn/

Legen Sie die Installationsdatei über das Tool im Opt-Ordner ab:

Hinweis: Wenn es sich bei der Systemanwendung um Java handelt, installieren wir sie unter /usr/local. Wenn es sich um eine Anwendung auf Benutzerebene handelt, legen wir sie unter opt ab

Entpacken Sie den Ordner:

tar  -zxvf  redis-7.0.5 .tar.gz

Geben Sie nach der Dekomprimierung den Redis-Ordner ein, um die Datei anzuzeigen:

[root@lixp ~]#   cd redis-7.0.5

[root@lixp redis-7.0.5]#  ls

Kompilieren: Es hilft uns, die erforderliche Konfiguration zu konfigurieren

make #注意需要在解压后的redis文件夹中执行
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要 调用perl或python来进行编译)。如果 在 make 过程中出现 error ,就要记下错误代码(注意不仅仅 是最后一行),然后可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址)。或者系统少了 一些依赖库等,这些需要自己仔细研究错误代码。make 的作用是开始进行源代码编译,以及一些功能 的提供,这些功能由他的 Makefile 设置文件提供相关的功能。比如 make install 一般表示进行安装, make uninstall 是卸载,不加参数就是默认的进行源代码编译。make 是 Linux 开发套件里面自动化 编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行 某些需要的程序进行编译的程序。


Redis installieren

make install

Dieser Befehl wird zum Installieren verwendet (natürlich müssen einige Softwareprogramme zuerst „make check“ oder „make test“ für einige Tests ausführen). Für diesen Schritt sind im Allgemeinen Root-Rechte erforderlich (da Sie Dateien auf das System schreiben müssen).

Befehlserweiterung – Softwareinstallationsprozess

1、解zhi包软件 tar zxf xxxx.tgz 

2、配置 cd xxxx ./configure 

3、编译 make 

4、安装 make install 

5、卸载 make uninstall

Überprüfen Sie, wo sich der Redis-Umgebungsdienst befindet

Test starten

redis-server
redis-server redis-config #后面是配置文件路径

1.2.3 Redis konfigurieren

vim-editor installieren

yum  -y  install vim

Sicherungskopie

Erstellen Sie einen Ordner auf derselben Ebene wie die Redis-Konfigurationsdatei und kopieren Sie eine redis.conf-Datei in den neuen Ordner. Wir werden diese CP-Datei in Zukunft für Vorgänge verwenden, und das Original wird sich nicht ändern.

#进入到redis目录下
[root@lixp redis-7.0.5]# cd /opt/redis-7.0.5
#复制一份redis.conf文件,防止源文件损坏,备份。
[root@lixp redis-7.0.5]# cp redis.conf ./redis0.conf 
[root@lixp redis-7.0.5]# ll

Ändern Sie den Hintergrundstart

vim redis-conf

Starten Sie Redis neu und sehen Sie sich den Test an

[root@lixp redis-7.0.5]# redis-server /opt/redis-6.0.6/it-sunwz/redis.conf

Fortschritt anzeigen

ps -aux | grep redis

ps -ef | grep redis

Client-Verbindungstest

[root@lixp redis-7.0.5]#  redis-cli -h 127.0.0.1 -p 6379 

[root@lixp redis-7.0.5]#  redis-cli -h 127.0.0.1 -p 6379 --raw #支持中文显示

Client-IO-Test

set name 张三

get name

keys *

Beenden Sie den Client und beenden Sie den Dienst

 # 退出客户端 
  exit 
 # 结束服务方式1 客户端内直接输入 
 shutdown shutdown 
 # 结束服务方式2 客户端外直接输入命令 
 redis-cli shutdown

Erweiterung des Firewall-Befehls

启动防火墙:systemctl start firewalld 
关闭防火墙:systemctl stop firewalld 
检查防火墙状态:systemctl status firewalld 
设置开机启用防火墙:systemctl enable firewalld.service 
设置开机禁用防火墙:systemctl disable firewalld.service · 
关闭防火墙:systemctl stop firewalld 
设置开机禁用防火墙:systemctl disable firewalld.service

1.2.4 Redis-Schalter

Der erste Typ: nach dem Beenden des Clients

[root@lixp redis-7.0.5]#  redis-cli shutdown

Die zweite: direkt im Client (empfohlen)

127.0.0.1:6379>shutdown

1.3 Installation des Redis-Visualisierungstools

Installation und Verwendung von Redis Desktop Manager (Redis-Visualisierungstool).

Standardmäßig kann keine Verbindung hergestellt werden

Konfigurieren Sie die Firewall so, dass Ports geöffnet werden

firewall-cmd --add-port=6379/tcp --permanent

firewall-cmd --remove-port=8888/tcp --permanent

firewall-cmd --list-ports

Der Redis-Dienst verfügt standardmäßig über einen Schutzmechanismus. Die Standardmechanismusregel besagt, dass nur der Computer, auf dem der Redis-Dienst aktuell installiert ist, auf 127.0.0.1 zugreifen darf

Standardmäßig hat Redis in der Konfigurationsdatei eine IP-Adresse, die an 127.0.0.1 gebunden ist. Wir müssen diese Adresse auskommentieren, um den Fernzugriff zu unterstützen.

Starten Sie den Redis-Dienst neu


Fügen Sie hier eine Bildbeschreibung ein

1.4 Erste Schritte mit Redis

1.4.1 Informationen zum Redis-Thread-Problem

Redis ist Single-Threaded. Warum ist Single-Threaded so schnell?

Die Datenstruktur von Redis besteht nicht nur aus einfachen Schlüsselwerten, sondern auch aus komplexen Strukturen wie Listen und Hashes. Diese Strukturen können sehr feinkörnige Operationen ausführen, z. B. das Hinzufügen eines Elements am Ende einer langen Liste oder das Hinzufügen oder Entfernen eines Objekts in einem Hash. Diese Vorgänge erfordern möglicherweise viele Sperren, was zu einem stark erhöhten Synchronisierungsaufwand führt. Kurz gesagt, im Fall eines einzelnen Threads ist der Code klarer, die Verarbeitungslogik einfacher, es besteht keine Notwendigkeit, verschiedene Sperren zu berücksichtigen, es gibt keinen Sperrfreigabevorgang und es gibt keinen Leistungsverbrauch aufgrund möglicher Deadlocks Es gibt keine Mehrfachsperren. Das durch Prozesse oder Multithreading verursachte Umschalten verbraucht CPU. Single-Thread-Multiprozess-Clusterlösung Die Leistung eines einzelnen Threads ist tatsächlich sehr leistungsstark und die Effizienz pro Kern ist ebenfalls sehr hoch. Multi-Threading kann natürlich eine höhere Leistungsgrenze haben als Single-Threading, aber in der heutigen Computerumgebung kann selbst die Obergrenze von Single-Machine-Multi-Threading oft nicht die Anforderungen erfüllen. Was weiter untersucht werden muss, ist die Lösung von Multi-Threading. Server-Clustering. Die Multithreading-Technologie im Plan ist noch nicht verfügbar. Daher ist ein Single-Threaded-Multiprozess-Cluster eine modische Lösung. Der CPU-Verbrauch erfolgt im Single-Thread-Modus, wodurch unnötige Kontextwechsel und Race-Bedingungen vermieden werden und keine CPU durch Umschalten aufgrund von Multiprozessen oder Multi-Threading verbraucht wird. Was aber, wenn die CPU zum Flaschenhals von Redis wird oder Sie die anderen CPU-Kerne des Servers nicht im Leerlauf lassen möchten? Es können mehrere Redis-Prozesse in Betracht gezogen werden. Redis ist eine Schlüsselwertdatenbank, keine relationale Datenbank, und es gibt keine Einschränkungen zwischen den Daten. Solange der Client unterscheiden kann, welche Schlüssel in welchem ​​Redis-Prozess platziert sind.

1.4.3 Redis-Grundbefehle

Datenbankwechselvorgang

127.0.0.1:6379> PING #检查连接 
PONG 
127.0.0.1:6379> SELECT 15
OK 
127.0.0.1:6379[15]> SELECT 16 #一共16个库 0-15
(error) ERR DB index is out of range 
127.0.0.1:6379[15]> SELECT 0 #默认是0 不显示索引
OK 
127.0.0.1:6379>

Aktuelle Datenbank anzeigen

127.0.0.1:6379> SET student zhangsan #增加一个数据
OK
127.0.0.1:6379> SET student lisi #相同key增加一个数据 会覆盖掉
OK
127.0.0.1:6379> GET student # 取值
"lisi"
127.0.0.1:6379> KEYS * # 查看所有的key
1) "list11"
2) "student"
3) "user:1:age"
4) "user:1:name"
127.0.0.1:6379>

Löschen Sie die Daten in der Datenbank

Flushdb löscht die aktuelle Datenbank – Voraussetzung ist die Eingabe der aktuellen Datenbank

Flushall entfernt alle Bibliotheken

127.0.0.1:6379> SET student zhangsan #在索引0库加信息
OK
127.0.0.1:6379> SET teacher lisi #在索引0库加信息
OK
127.0.0.1:6379> select 5 #切换索引为5的库
OK
127.0.0.1:6379[5]> SET user wangwu #在索引5库加信息
OK
127.0.0.1:6379[5]> KEYS *
1) "user"
127.0.0.1:6379[5]> FLUSHDB #清除当前库
OK
127.0.0.1:6379[5]> keys *
(empty array)
127.0.0.1:6379[5]> SELECT 0
OK
127.0.0.1:6379> KEYS *
4.2.4 设置过期时间
4.2.5 查看key类型
4.2.5 查看key是否存在
5. redis数据类型
redis存在5种基本数据类型和三种特殊类型
1) "teacher"
2) "student"
127.0.0.1:6379> SELECT 5
OK
127.0.0.1:6379[5]> FLUSHALL #清空所有的库信息
OK
127.0.0.1:6379[5]> SELECT 0
OK
127.0.0.1:6379> KEYS *
(empty array)
127.0.0.1:6379>

Ablaufzeit festlegen

127.0.0.1:6379> set student jiazong
OK
127.0.0.1:6379> EXPIRE student 30 #设置过期 秒数
(integer) 1
127.0.0.1:6379> TTL student
(integer) 18
127.0.0.1:6379> TTL student
(integer) 16
127.0.0.1:6379> TTL student #查看过期时间
(integer) 14
127.0.0.1:6379> TTL student
(integer) 7
127.0.0.1:6379> TTL student
(integer) -2
127.0.0.1:6379> get student
(nil)
127.0.0.1:6379>

Schlüsseltyp anzeigen

type key

Überprüfen Sie, ob der Schlüssel vorhanden ist

EXISTS key

(Ganzzahl) 1
127.0.0.1:6379> TTL-Student
(Ganzzahl) 18
127.0.0.1:6379> TTL-Student
(Ganzzahl) 16
127.0.0.1:6379> TTL-Student #查看过期时间
(Ganzzahl) 14
127.0.0.1:6379 > TTL-Student
(Ganzzahl) 7
127.0.0.1:6379> TTL-Student
(Ganzzahl) -2
127.0.0.1:6379> Student
(nil)
127.0.0.1:6379> abrufen


 查看key类型

```shell
type key

Überprüfen Sie, ob der Schlüssel vorhanden ist

EXISTS key

Acho que você gosta

Origin blog.csdn.net/weixin_52859229/article/details/129757611
Recomendado
Clasificación