7. 使用 Redis 的 Session 状态
在 Redis 中存储 Session 实例需要特别注意。
你可以使用 RedisHttpSessionConfiguration 配置 Sessin 在 Redis 中的存储方式。
以下是 application.yml
中的配置示例:
配置 Redis Session
micronaut:
session:
http:
redis:
enabled: true
# The Redis namespace to write sessions to
namespace: 'myapp:sessions'
# Write session changes in the background
write-mode: BACKGROUND
# Disable programmatic activation of keyspace events
enable-keyspace-events: false
注意
RedisSessionStore 实现使用 keyspace 事件来清除活动会话并激发 SessionExpiredEvent,并要求它们处于活动状态。
默认情况下,会话值使用 Java 序列化进行序列化,并存储在 Redis 哈希中。如果需要,你可以将序列化配置为使用 Jackson 序列化为 JSON:
使用 Jackson 序列化
micronaut:
session:
http:
redis:
enabled: true
valueSerializer: io.micronaut.jackson.serialize.JacksonObjectSerializer