Dengan pembangunan Internet, semakin banyak aplikasi perlu melaksanakan seni bina teragih. Dalam sistem yang diedarkan, cara mengurus sesi pengguna telah menjadi isu penting. Kaedah pengurusan sesi tradisional biasanya menggunakan mekanisme storan Sesi sebelah pelayan, tetapi kaedah ini mempunyai banyak batasan, seperti terdedah kepada titik kegagalan tunggal dan skalabiliti yang lemah. Untuk menyelesaikan masalah ini, Spring Boot dan Spring Session menyediakan penyelesaian pengurusan sesi yang diedarkan.
Spring Boot ialah rangka kerja pembangunan aplikasi pantas berdasarkan Rangka Kerja Spring. Ia boleh membina aplikasi web dengan cepat dan menyediakan banyak ciri mudah. Mengiringinya ialah Sesi Musim Bunga, yang menyediakan API bersatu untuk mengurus sesi pengguna. Sesi Musim Bunga menyediakan pelbagai kaedah penyimpanan, termasuk Redis, MongoDB, dsb.
Dalam artikel ini, kami akan memperkenalkan cara mengintegrasikan Spring Session dalam aplikasi Spring Boot untuk mencapai pengurusan sesi teragih.
1. Perkenalkan kebergantungan
Pertama, tambahkan kebergantungan berikut dalam fail pom.xml:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-core</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
Antaranya, spring-boot-starter-web ialah kebergantungan Web Spring Boot , spring-session-core menyediakan API teras Spring Session, dan spring-session-data-redis menyediakan penyepaduan antara Spring Session dan Redis.
2. Konfigurasikan Redis
Sebelum menggunakan Redis sebagai kaedah storan Sesi Musim Bunga, anda perlu mengkonfigurasi klien Redis. Tambahkan sifat berikut dalam application.properties:
# Redis spring.redis.host=localhost spring.redis.port=6379
Selain itu, anda juga boleh mengkonfigurasi sifat seperti saiz kolam sambungan Redis.
3. Konfigurasikan Sesi Spring
Seterusnya, tambahkan konfigurasi berikut dalam kelas konfigurasi Spring Boot:
@Configuration @EnableRedisHttpSession public class AppConfig { @Bean public LettuceConnectionFactory connectionFactory() { return new LettuceConnectionFactory(); } }
Antaranya, anotasi @EnableRedisHttpSession membolehkan Sesi Musim Bunga dan Redis disepadukan . LettuceConnectionFactory ialah kilang sambungan antara Spring Session dan Redis. Ia menggunakan Lettuce sebagai pelanggan Redis.
4. Menggunakan Sesi Musim Bunga
Dalam aplikasi Spring Boot, anda boleh menggunakan objek Sesi untuk mengurus sesi pengguna. Objek Sesi ialah API Servlet yang boleh digunakan dalam pengawal. Contohnya, tambahkan kod berikut pada HomeController:
@RestController public class HomeController { @GetMapping("/") public String home(HttpSession session) { Integer count = (Integer)session.getAttribute("count"); if (count == null) { count = 1; } else { count += 1; } session.setAttribute("count", count); return "Home page. Count: " + count; } }
Dalam kod ini, kami menggunakan anotasi Spring Boot @RestController untuk mentakrifkan pengawal. Dalam pengawal, kami menyuntik objek HttpServletRequest dan menggunakan kaedah session.getAttribute() untuk mendapatkan data dalam sesi. Jika atribut count tidak wujud dalam sesi, cipta atribut baharu dan tetapkan nilainya kepada 1, jika tidak, tambahkan nilai atribut sebanyak 1; Akhirnya luluskan atribut kiraan ke paparan.
5. Uji aplikasi
Selepas melengkapkan langkah di atas, anda boleh menggunakan pelayar untuk menguji aplikasi. Masukkan http://localhost:8080/ dalam bar alamat penyemak imbas untuk menjalankan aplikasi. Setiap kali halaman dimuat semula, pembilang pada halaman itu ditambah 1. Ini menggambarkan kejayaan pelaksanaan pengurusan sesi teragih dalam aplikasi kami.
6. Ringkasan
Artikel ini memperkenalkan kaedah menyepadukan Spring Session dalam aplikasi Spring Boot untuk mencapai pengurusan sesi teragih. Dengan menggunakan Sesi Musim Bunga, kami boleh mengurus sesi pengguna dengan mudah dan menjadikan aplikasi lebih mantap dan boleh dipercayai. Dengan menyesuaikan media storan seperti Redis, kami boleh menyelesaikan masalah kesesakan mekanisme storan Sesi tradisional dengan berkesan dan meningkatkan prestasi dan kebolehskalaan aplikasi.
Atas ialah kandungan terperinci Spring Boot dan Spring Session digabungkan untuk melaksanakan pengurusan sesi teragih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!