面试题答案
一键面试1. 引入相关依赖
在 pom.xml
文件中添加 Redis 相关依赖,以 Spring Boot 项目为例:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2. 修改配置文件
在 application.yml
中添加 Redis 配置:
spring:
redis:
host: your-redis-host
port: 6379
password: your-redis-password
database: 0
session:
store-type: redis
redis:
flush-mode: on-save
namespace: spring:session
3. 关键代码片段
配置类
创建一个配置类,用于配置 Spring Session 使用 Redis:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;
@Configuration
@EnableRedisHttpSession
public class SessionConfig {
@Bean
public CookieSerializer cookieSerializer() {
DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
cookieSerializer.setCookieName("YOUR_SESSION_COOKIE_NAME");
cookieSerializer.setDomainName("YOUR_DOMAIN_NAME");
cookieSerializer.setUseHttpOnly(true);
return cookieSerializer;
}
}
在上述代码中,@EnableRedisHttpSession
注解启用了基于 Redis 的 Spring Session。cookieSerializer
方法用于配置会话 cookie 的相关属性,如 cookie 名称、域名以及是否仅允许 HTTP 访问等。
这样,在 Spring Cloud 微服务架构中,就实现了使用 Redis 进行分布式会话共享。