web-dev-qa-db-ja.com

RedisなしでSpringBootセッションを使用することは可能ですか?

Spring Bootのドキュメントを見ると、Redisでセッションを使用する例しか見つかりませんでした。それを使用することは可能ですかなし Redis?

15
Fabio

別の回答で述べたように:はい、SessionRepository実装を変更することで、セッション永続性バックエンドを変更できます。

また、Spring-Sessionによって提供される組み込みの代替手段があります。これはMapSessionRepositoryであり、セッションをMapに保存できます。

Spring Sessionのサンプルには、永続性バックエンドとして Hazelcastを使用したサンプル があります。上記のMapSessionRepositoryを、Hazelcastによって作成されたMapインスタンスで利用しています。

12
Adrian Shum

私はこの質問に少し遅れていることを知っていますが、他の人がこの質問に出くわした場合に備えて投稿するだけです。

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
}

Spring Session JARでは、org.springframework.session.jdbcパッケージにSQLスクリプトが含まれており、さまざまなDBMS(MySQL、Postgreなど)のテーブル構造を作成します。

Spring Session 1.2.0マイルストーンリリースでJDBC機能の使用を開始しましたが、途中で問題は発生しませんでした。

6
A. Thom

セッションを保存したいテクノロジーを使用できます。 Spring Sessionは、セッションを保存および取得するために実装する必要のあるインターフェースSessionRepositoryを提供します。したがって、ストレージテクノロジーを使用してそのインターフェイスの実装を作成し、その実装をSpringBeanとして構成するだけです。

0
dunni