资讯专栏INFORMATION COLUMN

tornado服务器session模块mongosion

suemi / 2695人阅读

摘要:泪流满面平台基于,以为数据库。初次接触,感觉比较陌生,坑是有的,很多模块没有,等。启动下安装在下地依赖包官网直接好了插话关于搜索有个很好教程。包含两个类,基类和派生类基类主要负责数据库查询,派生类主要负责数据处理以及逻辑结构。

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

mongosion.get(session_id)

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

Ox04.Warning
remember install pymongo && run mongodb


Ox05.License

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

GPL

--by 小草

2014、08、28

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18729.html

相关文章

  • Tytorn - A simple MVC framework based on tornado

    Tytorn - A simple MVC framework based on tornado 一个基于tornado的简单MVC框架 框架特点 友好的中文注释 足够轻量,高度可定制 实现了子域名的配置 封装了日志记录,postgresql,session等web开发基本功能,让您更专注业务逻辑 集成了restful api 接口 实现了postgre sql的异步数据库操作 更多... 适...

    enda 评论0 收藏0
  • Tornado-08、SQLAlchemy简单的增删查改

    摘要:环境搭建安装相应的软件包数据库用于连接服务器的一个库连接数据库从中导入,创建引擎建立与数据库的连接。使用方法定义的映射类依据一个基类,这个基类是维系类和数据表关系的目录。应用通常只需要有一个的实例。 SQLAlchemy 1.环境搭建 安装相应的软件包 1.mysql数据库 2.pymysql用于连接MySQL服务器的一个库 3.sqlalchemy $ pip install...

    荆兆峰 评论0 收藏0
  • django开发-django和tornado的不同

    摘要:中常用的几个框架有等,今天来总结一下和的不同。本文使用的环境是。文件可以加载路由信息和项目配置信息,文件负责启动项目。以上就简单的比较了和几个方面的不同,它们各有优缺点,实际工作中可以根据不同的需求选择不同的框架进行开发。 python中常用的几个web框架有django, tornado, flask等,今天来总结一下django和tornado的不同。工作中django和torna...

    Reducto 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<