web.py笔记session
官方的例子
http://webpy.org/cookbook/sessions.zh-cn
?
服务器端有三种方式存session
一种是基本的store ,放在内存里吧
一种是diskstore ,会在code.py同级建一个sessions的文件夹
一种是dbstore,要对应的建一个表,试着改过对应的列的名字,会报错,目前看来也就是这个db的表里面的东西都是固定的
?
?
import webimport sqlite3web.config.debug = Falseurls = ( "/count", "count", "/reset", "reset")app = web.application(urls, locals())#store = web.session.DiskStore('sessions')#session = web.session.Session(app, store, initializer={'count': 0})db = web.database(dbn='sqlite', db='sessions.db', )store = web.session.DBStore(db, 'sessions')session = web.session.Session(app, store, initializer={'count': 0})class count: def GET(self): session.count += 1 return str(session.count)class reset: def GET(self): session.kill() store.cleanup(0.002) #加了个cleanup看效果来着 return ""if __name__ == "__main__": app.run()
?
真是太简单了,连session都有3种方法可以选,我怎么没记得以前java有这么灵活呢?
不过,不管是读写文件还是数据库,总是比较慢的吧?
?
还有挺奇怪的是reset的时候,不要cleanup一下么?只是kill掉进程的话,不论是文件还是db,都会越来越大的 吧?
真要是本番的话,要不要再写个cron定期清一下?
或者如果真的是本番,根本不会用这2个方法?
?