Rumah pangkalan data Redis Cara nginx+redis merealisasikan perkongsian sesi

Cara nginx+redis merealisasikan perkongsian sesi

May 26, 2023 pm 12:49 PM
redis nginx session

1. Langkah pertama ialah memasang semula Pelayan saya ialah Windows. Pada mulanya, redis tidak memerlukan kata laluan secara lalai Jika anda ingin menetapkan kata laluan, anda boleh pergi ke fail redis.windows.conf dan cari requirepass, padam tanda # di hadapan dan tetapkan kata laluan selepasnya.

Cara nginx+redis merealisasikan perkongsian sesi

2. Masukkan direktori akar redis dari cmd dan taip arahan berikut: redis-server.exeredis.windows.conf. Dengan cara ini, redis boleh dimulakan Jika permulaan berjaya, skrin berikut akan muncul. Sudah tentu, anda juga boleh mengubah suai fail conf dan menambah kata laluan. requirepass xxxxx

Cara nginx+redis merealisasikan perkongsian sesi

3. Seterusnya kita boleh melakukan beberapa kerja konfigurasi untuk mencapai cache data sesi global.

1) Mula-mula, tambah pakej jar Jika anda adalah projek maven, anda perlu menambah kod berikut pada pom.xml

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

Jika ia bukan projek maven, anda perlu untuk menambah pakej balang berikut.

Cara nginx+redis merealisasikan perkongsian sesi

2) Tulis redis.properties, kodnya adalah seperti berikut

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
Salin selepas log masuk

Pada asasnya serupa dengan pernyataan sambungan yang kami konfigurasikan pangkalan data.

3) Tulis fail konfigurasi spring-redis.xml Fail ini mengkonfigurasi beberapa maklumat asas tentang redis.

<?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>
Salin selepas log masuk

4) Dalam application.xml (fail konfigurasi utama spring), anda perlu menambah pengimbasan fail konfigurasi redis.properties, seperti berikut.

<!-- 读取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>
Salin selepas log masuk

5) Perkenalkan spring-redis.xml ke dalam fail konfigurasi utama, seperti berikut.

<import resource="spring-redis.xml" />
Salin selepas log masuk

6) Dalam web.xml, tambah penapis tentang sesi Hanya dengan cara ini sesi akan dimanipulasi oleh redis.

<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>
Salin selepas log masuk

Selepas ini, kami akan merealisasikan pengurusan sesi redis.

7) Kami boleh memasang klien redis untuk melihat data di dalamnya, dipanggil pengurus desktop redis. Seperti yang ditunjukkan di bawah, ia sangat berguna dan anda boleh melihat data dalam pangkalan data redis.

Cara nginx+redis merealisasikan perkongsian sesi

ps Apabila anda keluar semula, anda perlu menulis seperti ini untuk mengelakkan ralat. (projek ssh)

public string yipinexit(){
 iterator<string>keys=session.keyset().iterator();
 while(keys.hasnext()){
  string key=keys.next();
  session.remove(key);
 }
 return "yipinexit";
 }
Salin selepas log masuk

Atas ialah kandungan terperinci Cara nginx+redis merealisasikan perkongsian sesi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian kepada ralat 0x80242008 semasa memasang Windows 11 10.0.22000.100 Penyelesaian kepada ralat 0x80242008 semasa memasang Windows 11 10.0.22000.100 May 08, 2024 pm 03:50 PM

Penyelesaian kepada ralat 0x80242008 semasa memasang Windows 11 10.0.22000.100

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat

Menganalisis kesesakan fungsi PHP dan meningkatkan kecekapan pelaksanaan Menganalisis kesesakan fungsi PHP dan meningkatkan kecekapan pelaksanaan Apr 23, 2024 pm 03:42 PM

Menganalisis kesesakan fungsi PHP dan meningkatkan kecekapan pelaksanaan

Bagaimana untuk menggunakan projek nodejs ke pelayan Bagaimana untuk menggunakan projek nodejs ke pelayan Apr 21, 2024 am 04:40 AM

Bagaimana untuk menggunakan projek nodejs ke pelayan

Strategi dan pengoptimuman caching API Golang Strategi dan pengoptimuman caching API Golang May 07, 2024 pm 02:12 PM

Strategi dan pengoptimuman caching API Golang

Bagaimana untuk menjana URL daripada fail html Bagaimana untuk menjana URL daripada fail html Apr 21, 2024 pm 12:57 PM

Bagaimana untuk menjana URL daripada fail html

Mekanisme caching dan amalan aplikasi dalam pembangunan PHP Mekanisme caching dan amalan aplikasi dalam pembangunan PHP May 09, 2024 pm 01:30 PM

Mekanisme caching dan amalan aplikasi dalam pembangunan PHP

Yang manakah mempunyai prestasi yang lebih baik, erlang atau golang? Yang manakah mempunyai prestasi yang lebih baik, erlang atau golang? Apr 21, 2024 am 03:24 AM

Yang manakah mempunyai prestasi yang lebih baik, erlang atau golang?

See all articles