Flask + BeakerでセッションデータをRedisに保存する
·1 分で読めます
やりたいこと
Redisをセッションデータの保存先にしたい
Beakerって?
様々なデータストアにセッションデータを保存するWSGI Middleware。WSGIレイヤーなのでFlask以外のWAF(bottleとか)でも使えるはず。
必要なもの
- Python 2.6+ (自分はPython 3.3.4で動かしてる)
- Flask
- Beaker
- beaker_extensions - beakerだけだとRedisには対応してないためこれが必要
- redis-py
- Redis
サンプルコード
動かす
$ pip install beaker flask redis git+git://github.com/bbangert/beaker_extensions.git
$ python beaker_sample.pyhttp://localhost:5000/ にアクセスしてみる
確認してみる
セッションデータが保存されているか確認してみる。
$ redis-cli
127.0.0.1:6379> keys *
1) "beaker:2c9ac3823d844bc0848d2b0fbb154fc1:session"
2) "beaker:3a049f5fcede47e396341b663563153b:session"TIPS
デフォルトだとdb=0のデータベースに保存されるので、これを変えたい場合は
'session.url': '127.0.0.1:6379',
↓
'session.url': '127.0.0.1:6379?db=1',みたいにすれば良いってことをソース見て学んだ。
- 作者: Josiah L. Carlson,長尾高弘
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2013/12/27
- メディア: 大型本
- この商品を含むブログ (3件) を見る
関連記事
nodemonを使ってFlaskなWebアプリを自動でリロード
2014-03-15
Redisで全てのキーを取得する
2014-03-27
Python3に対応したtomahawk 0.7.0をリリース
2014-03-03