tornado服务器session模块mongosion

本文介绍了mongosion,一个基于pymongo的Python session模块,适用于tornado.py或web.py。文章涵盖了mongosion的安装、功能、原理及警告事项,帮助开发者了解如何在Tornado中实现session管理。
摘要由CSDN通过智能技术生成

mongosion

https://github.com/grasses/mongosion
An easy session module, writed by python base on pymongo using for tornado.py or web.py!

公司要我写个内部share平台,那就写吧,那就写了。(泪流满面 T_T)

平台基于python.tornado,以mongodb为数据库。

初次接触tornado,感觉比较陌生,T_T, 坑是有的,很多模块没有,session,log等。

那就写呗,那就写了。T_T说多都是泪。

Ox01.Installation

use pip

pip install mongosion

or source

wget https://pypi.python.org/packages/source/m/mongosion/mongosion-0.1.3.tar.gz

tar -zxvf mongosion-0.1.3.tar.gz

cd mongosion-0.10/

sudo python setup.py install


下面是关于宿主环境安装介绍,已安装的跳过

开发安装环境 Python 2.7.8,详细兼容性为知.....我只用过python27....

1、先安装tornado(我用的是tornado,用web.py啥的也一样)

pip

pip install

or source

wget http://github.com/downloads/facebook/tornado/tornado-2.0.tar.gz

tar xvzf tornado-2.0.tar.gz

cd tornado-2.0

python setup.py build

sudo python setup.py install    

2、安装mongodb

给你个教程吧,太多了,题外话了。

mac 下安装mongodb

centos 下安装mongodb

反正不管用什么手段,安装完,启动。

启动(mac下):

sudo mongod 

3、安装pymong(mongodb在python下地依赖包)

pymongo 官网

直接pip好了

pip install pymongo

插话:关于pymongo搜索有个很好教程。

Ox02.mongosion

mongosion包含两个类,基类SessionBase和派生类Session,基类主要负责mongodb数据库查询,派生类主要负责数据处理以及逻辑结构。


查找、保存原则:如果有返回数据,如果没有,创新新的session,此时记得更新cookie,模块只负责select, update, insert, delete.


get(),delete(),exist()这3个函数要提供session id


save() 要提供session数据内容(json),默认数据格式在setting里面设置


expired() 不需要参数

setting可以设置:

  • 过期时间

  • 是否自动删除过期

  • session内容自定义

mongosion give you 5 function:

get( session_id ) => get session

delete( session_id ) => remove session

save( session_id, {}) => save sesssion

exist( session_id ) => check session is existion

expired() => delete expired sessions

data type
{'_id':'', 'time':'', 'session': {'uid':'', 'status':'', ......} } 
setting
setting = {
    # mongodb setting
    'host':'localhost',
    'port': 27017,
    'databse':'mongosion',

    #session setting
    'session_id': '',
    'sessionExpires': 24*60*60,
    'autoDeleteExpired': True, # clean expired sessions at every get 
    'secretKey':base64.b64encode(uuid.uuid4().bytes + uuid.uuid4().bytes),
    'session' : { 'uid':'520', 'status':'useing', 'isLogin':False } # default type of data
}
源码查看

https://github.com/grasses/mongosion/blob/master/mongosion/__init__.py

Ox03.mongosion原理

how to work

process

mongosion.get(session_id)

process

mongosion.save(session_id, {'uid':'', 'isLogin': True})

process

Ox04.Warning

remember install pymongo && run mongodb


Ox05.License

=========================================

GPL

--by 小草

2014、08、28

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值