免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4222 | 回复: 10
打印 上一主题 下一主题

web问题求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-26 10:08 |只看该作者 |倒序浏览
一直想用纯python作web
最大的问题是session和cache

现在先说session
前面我做的测试是cookie存sessionID
然后在数据库保存session table
每个需要session的页面检查session表中是否有cookie值(一个根据时间生成的sha)
并在每次检查的时候update session表的valid_time字段>;now()(标志这个session在线)
这个办法可行
但是问题是对数据库读写太多了,刷新快的时候就有locked错误,更不要说同时在线多少人了
karrigell使用内存保存session 是个好办法
但是其运作机制是如何的呢?
我用pysqlite的memory数据库作session表
每次import都初始化了,保留不了别的该session表/库

请教各位大虾和limodou
该怎么处理

论坛徽章:
0
2 [报告]
发表于 2005-09-26 10:14 |只看该作者

web问题求助

关于karrigell可能需要更详细的看代码,有些细节已经记不太清楚了。应该就是一个字典吧。

另外为什么会不停地import呢?是使用karrigell吗?还是自已写的,如何实现的。那么你的import就不应该不停地初始化才对。

论坛徽章:
0
3 [报告]
发表于 2005-09-26 10:16 |只看该作者

web问题求助

对karrigell了解不多,但看文档中说karrigell可以持久化session

Persistence Support

Karrigell is provided with the gadfly database and a relational-object mapping which allows easy storing of the session objects, and of user-related information (preferences, etc). The 100% Python KirbyBase is also included

It can be linked to all databases for which there is a Python API (mySql, PostGres, etc)

论坛徽章:
0
4 [报告]
发表于 2005-09-26 10:22 |只看该作者

web问题求助

to limodou

做了一个访问pysqlite memory数据库的session.py
每个需要用到session的页面都要import it了
可是测试发现
import 以后,数据库就初始化了,因为session.py的开头就是创建表结构
然后才是session class
我在创建表结构之前作测试_time=time.time()
每个页面得到的_time都是不断变化的
以此可以证明
import以后,是初始化的

to wolfg

看来karrigell也是采用的数据库存取的方法

论坛徽章:
0
5 [报告]
发表于 2005-09-26 10:31 |只看该作者

web问题求助

那么你应该把建表的处理放在外部执行,因为这个处理一般就执行一次。或放在一个单独的页面中去执行,不过混在一起进行处理。

其实主要的原因是你的处理每次都是作为一个单独的进程来处理的,每一次请求处理完毕程序就退出了,因此没有一个继承性。现在许多的web framework为了方便处理session, context之类的合局信息都是自已作为一个独立的server进行运行,这样就是一个服务程序一直在运行,而不必每次以一个进程运行后退出,再来请求再运行了。因此作为独立的server来运行更方便实现一些特别的功能,象karrigell, cherrypy, snakelets, zope都是独立运行的。

论坛徽章:
0
6 [报告]
发表于 2005-09-26 10:36 |只看该作者

web问题求助

sqlite作web database够用么?

我的目标是在线上万人的大型站点

是不是有点强人所难了?

呵呵

不行就换mysql

但是绝对不要sqlserver & oracle之类的商业软件

论坛徽章:
0
7 [报告]
发表于 2005-09-26 10:41 |只看该作者

web问题求助

sqlite我感觉不错,功能也是越来越强。在python中更换数据库应该还算简单,比如你使用sqlobject,或都使用标准的db-api都基本上与数据库无关,只是配置一下,连接代码改一改就行了。不行的时候再换吧。

论坛徽章:
0
8 [报告]
发表于 2005-09-26 10:52 |只看该作者

web问题求助

sqlite建表的时候
指定字段类型和不指定
效率有区别么

论坛徽章:
0
9 [报告]
发表于 2005-09-26 11:04 |只看该作者

web问题求助


孤陋寡闻了

没听说过sqlobject
看了看网站,才知道有这么好的东西

为什么python package index上从没有过这东西

这下好了
数据层全都透明了

论坛徽章:
0
10 [报告]
发表于 2005-09-26 11:22 |只看该作者

web问题求助

sqlite内部保存全是一样的,我也没注意过效率的问题,但指定让人感觉舒服一些,移植起来也方便。

多交流就好了。互通有无。

PYPI上有介绍啊。但需要自已主动关注。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP