ホームページ >データベース >Redis >Redisにセッションを保存する方法

Redisにセッションを保存する方法

(*-*)浩
(*-*)浩オリジナル
2019-11-21 10:12:373379ブラウズ

Redisにセッションを保存する方法

Redis にセッションを保存するときに考慮すべき問題:

セッション データはどのように Redis に保存されますか?セッション属性の変更はいつストレージをトリガーしますか? (推奨される学習: Redis ビデオ チュートリアル )

実装:

セッション内のデータがマップのような構造を持つことを考慮する, redis が使用されます セッション データの保存にはハッシュの方が適しています。セッション データの保存に単一の値が使用される場合、ロックせずにセッションが上書きされる問題が発生します。そのため、ハッシュを使用してセッションを保存すると、セッション データを変更するデータのみが保存されます。毎回セッション属性を使用すると、ロック処理が回避され、パフォーマンスが向上します。

セッション属性が変更されるたびにストレージがトリガーされる場合、より多くのセッション属性が変更されると複数の Redis 書き込み操作がトリガーされ、パフォーマンスにも影響します。 、セッション書き込みを実行し、変更された属性を書き込みます。

今回セッション変更が行われない場合、redis 書き込みは実行されません。変更されていないセッションが時間しきい値を超えた場合 (セッション更新有効期限のしきい値は変更されない場合) にのみトリガーされます。セッションは保存されるため、セッションの有効期間を延長できます。

2 つの実装方法:

セッション集中ストレージ (redis、memcached、hbase など)。

セッション データを別のサーバーにコピーする 2 つの方法の長所と短所は誰にとっても明らかです。

セッション一元化ストレージに基づく実装計画:

フィルターを追加し、リクエストをインターセプトし、HttpServletRequest をラップする

getSession メソッドを書き換えてセッションから取得します。ストレージ セッション データ、カスタマイズされた HttpSession 実装を返します

新しいセッションを生成した後、セッション ID を cookie に書き込みます

以上がRedisにセッションを保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。