Можно ли использовать Spring Boot session без Redis?

Глядя на Spring Загрузочные документы, я нашел примеры использования сеанса с Redis, возможно ли использовать его без Redis?

Ответы

Ответ 1

Как сказано в другом ответе: Да, вы можете изменить бэкэнд сохранения сеанса, изменив реализацию SessionRepository.

И есть встроенные альтернативы, предоставляемые Spring -Session, который является MapSessionRepository, для которого вы можете сохранить сеанс в Map.

В образцах сеанса Spring существует образец с использованием Hazelcast в качестве основы для сохранения. Он использует вышеупомянутый MapSessionRepository с экземпляром Map, созданным Hazelcast.

Ответ 2

Я знаю, что я немного опаздываю на этот вопрос, но просто публикую, если другие спотыкаются на этот вопрос.

Как и в случае с Spring Session 1.2.0, существует встроенный репозиторий сессий JDBC, который можно использовать следующим образом:

@Configuration
@EnableJdbcHttpSession // default session length and DB table name can be included on the annotation
public class SessionConfiguration {
    // code goes here if needed
}

В сеансе JAR сеанса Spring пакет org.springframework.session.jdbc имеет SQL-скрипты для создания структуры таблиц для разных СУБД (MySQL, Postgre и т.д.).

Я начал использовать функциональность JDBC в выпуске Spring Session 1.2.0, и у меня не было проблем на этом пути.

Ответ 3

Вы можете использовать любую технологию, которую хотите сохранить в сеансах. Spring Session предоставляет интерфейс SessionRepository, который вы должны реализовать для хранения и получения сеансов. Поэтому просто создайте реализацию этого интерфейса с помощью технологии хранения и настройте эту реализацию как Spring bean.