Heim  >  Artikel  >  Datenbank  >  Wie Nginx+Redis die Sitzungsfreigabe realisiert

Wie Nginx+Redis die Sitzungsfreigabe realisiert

WBOY
WBOYnach vorne
2023-05-26 12:49:061518Durchsuche

1. Der erste Schritt ist die Installation von Redis. Ich habe die kostenlose Version heruntergeladen. Zu Beginn erfordert Redis standardmäßig kein Passwort. Wenn Sie ein Passwort festlegen möchten, können Sie in der Datei redis.windows.conf nach „requirepass“ suchen, das #-Zeichen davor löschen und das Passwort danach festlegen.

Wie Nginx+Redis die Sitzungsfreigabe realisiert

2. Geben Sie über cmd das Stammverzeichnis von Redis ein und geben Sie den folgenden Befehl ein: redis-server.exeredis.windows.conf. Auf diese Weise kann Redis gestartet werden. Wenn der Start erfolgreich ist, wird der folgende Bildschirm angezeigt. Natürlich können Sie auch die conf-Datei ändern und ein Passwort hinzufügen. requirepass xxxxx

Wie Nginx+Redis die Sitzungsfreigabe realisiert

3 Als nächstes können wir einige Konfigurationsarbeiten durchführen, um eine globale Zwischenspeicherung der Sitzungsdaten zu erreichen.

1) Fügen Sie zunächst das JAR-Paket hinzu. Wenn Sie ein Maven-Projekt sind, müssen Sie den folgenden Code zu pom.xml hinzufügen.

Wie Nginx+Redis die Sitzungsfreigabe realisiert2) Schreiben Sie redis.properties, der Code lautet wie folgt

<!-- redis -->
 <dependency>
  <groupid>org.springframework.session</groupid>
  <artifactid>spring-session-data-redis</artifactid>
  <version>1.3.1.release</version>
  <type>pom</type>
 </dependency>

Im Grunde ähnlich der Verbindungsanweisung, mit der wir die Datenbank konfigurieren.

3) Schreiben Sie die Konfigurationsdatei spring-redis.xml. Diese Datei konfiguriert einige grundlegende Informationen zu Redis.

redis_isopen:yes
#主机地址
redis_hostname=xxx.xxx.xxx.xxx
#端口
redis_port=6379
#密码
redis_password=xxxxxxxx
#连接超时时间
redis_timeout=200000
redis_maxidle:300
redis_maxactive:600
redis_maxwait:100000
redis_testonborrow:true

4) In application.xml (der Hauptkonfigurationsdatei von Spring) müssen Sie das Scannen der Konfigurationsdatei redis.properties wie folgt hinzufügen.

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd ">
 <!-- session设置 maxinactiveintervalinseconds为session的失效时间,单位为秒-->
 <bean
 class="org.springframework.session.data.redis.config.annotation.web.http.redishttpsessionconfiguration">
 <property name="maxinactiveintervalinseconds" value="3600"></property>
 </bean>
 <!-- redis连接池 -->
 <bean id="poolconfig" class="redis.clients.jedis.jedispoolconfig">
 <property name="maxidle" value="${redis_maxidle}" />
 <property name="testonborrow" value="${redis_testonborrow}" />
 </bean>
 <!-- redis连接工厂 -->
 <bean id="connectionfactory"
 class="org.springframework.data.redis.connection.jedis.jedisconnectionfactory">
 <property name="hostname" value="${redis_hostname}" />
 <property name="port" value="${redis_port}" />
 <property name="password" value="${redis_password}" />
 <property name="timeout" value="${redis_timeout}" />
 <property name="poolconfig" ref="poolconfig"></property>
 </bean>
</beans>

5) Fügen Sie spring-redis.xml wie folgt in die Hauptkonfigurationsdatei ein.

<!-- 读取redis参数配置 -->
 <bean id="propertyconfigurer"
 class="org.springframework.beans.factory.config.propertyplaceholderconfigurer">
 <property name="locations">
  <list>
  <value>/web-inf/classes/redis.properties</value>
  </list>
 </property>
 </bean>

6) Fügen Sie in web.xml einen Filter für die Sitzung hinzu. Nur auf diese Weise wird die Sitzung von Redis manipuliert.

<import resource="spring-redis.xml" />

Danach werden wir das Sitzungsmanagement von Redis realisieren.

7) Wir können einen Redis-Client installieren, um die darin enthaltenen Daten anzuzeigen, den sogenannten Redis-Desktop-Manager. Wie unten gezeigt, ist es sehr nützlich und Sie können die Daten in der Redis-Datenbank sehen.

Wie Nginx+Redis die Sitzungsfreigabe realisiertps. Wenn Sie wieder aussteigen, müssen Sie so schreiben, um Fehler zu vermeiden. (SSH-Projekt)

<filter>
 <filter-name>springsessionrepositoryfilter</filter-name>
 <filter-class>org.springframework.web.filter.delegatingfilterproxy</filter-class>
 </filter>
 <filter-mapping>
 <filter-name>springsessionrepositoryfilter</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>

Das obige ist der detaillierte Inhalt vonWie Nginx+Redis die Sitzungsfreigabe realisiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen