oinume journal

Scratchpad of what I learned

Flask + BeakerでセッションデータをRedisに保存する

やりたいこと

Redisをセッションデータの保存先にしたい

Beakerって?

様々なデータストアにセッションデータを保存するWSGI Middleware。WSGIレイヤーなのでFlask以外のWAF(bottleとか)でも使えるはず。

必要なもの

サンプルコード

gist9811874

動かす

$ pip install beaker flask redis git+git://github.com/bbangert/beaker_extensions.git
$ python beaker_sample.py

http://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',

みたいにすれば良いってことをソース見て学んだ。

Redis入門 インメモリKVSによる高速データ管理

Redis入門 インメモリKVSによる高速データ管理