2004年05月27日 星期四 11:39
Zope我还不熟,问周海文吧。 我用mod_python + webware,到处都可以import,但他确实是共享的。 -----邮件原件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 The UnderTaker 发送时间: 2004年5月27日 11:36 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? 如果用Zope,写好SHARE.py之后是否要使用/Control_Panel/Products/PythonScripts 的Import功能? 还是直接在程序中Import? ----- Original Message ----- From: "Tan Lihui" <tony at exchange.ricsson.com> To: <python-chinese at lists.python.cn> Sent: Thursday, May 27, 2004 9:51 AM Subject: 答复: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > 不,确实是共享的。因为象mod_python或者zope之类的app serv,是在 > 启动的时候import所有的module的。 > > 只要每个使用db connection的程序import的语句一样的(也就是namespace是一样的),它就不会重复import很多个的。要检验这个也很简单,只要在mysql的源代码里面链接mysql_connect()或者mysql_realconnect()里面,打印一些东西。就能看到。 > > > -----邮件原件----- > 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 The UnderTaker > 发送时间: 2004年5月27日 9:45 > 收件人: python-chinese at lists.python.cn > 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > > 這樣還不是每import一次就建立一個連接嗎?它不可能永遠保持單一數據庫聯接吧 > > ----- Original Message ----- > From: "周海文" <zhou.haiwen at gti.cn> > To: <python-chinese at lists.python.cn> > Sent: Thursday, May 27, 2004 9:10 AM > Subject: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > > > > db io的效率关键是要生成一个共享的数据库联接对象(如下面的SHARE.py),然后每次访问数据库时就使用这个对象(如other.py),就减少了每次建立连接的开销。速度会明显提高很多。 > > > > #file: SHARE.py > > import dbi,odbc,time > > class DataBaseParent: > > def __init__(self,strConnect): > > self.strConnect=strConnect > > self.db=odbc.odbc(strConnect) > > > > def select(self,sqlstr): > > cur=self.db.cursor() > > cur.execute(sqlstr) > > List=cur.fetchall() > > iTotal_length=len(List) > > self.description=cur.description > > return List,iTotal_length > > > > def delete(sql): > > ... > > > > try: > > dbÚtaBaseParent("ODBC_DSN_NAME/sa/sa") #关系数据库连接对象 > > except: > > raise 'db connect error' > > > > > > > > #file: other.py > > from SHARE import db #导入数据库连接对象 > > def getContent(): > > lT,iNÛ.select("select * from users") > > print lT,iN > > > > > > ----- Original Message ----- > > From: "Tan Lihui" <tony at exchange.ricsson.com> > > To: <python-chinese at lists.python.cn> > > Sent: Wednesday, May 26, 2004 7:14 PM > > Subject: 答复: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > > > > > > 外部方法写程序确实比较快些(是指写程序的效率高),但外部方法不是说比直接用zope api继承下来实现慢吗? > > > > 外部方法获取数据源,zpt做模板,模板套上数据就成了输出的html。也用了缓存和数据库连接池。我这是通常的做法,这样效率不行吗?你认为问题出在哪里?是模板语言?还是什么?我在测试的时候,db的io不是特别高,所以得出的结论是zope有问题。 > > > > 我相信你那个会比较快些,因为你的外部方法根本不去拿数据,数据是由一个后台程序定时去拿的。但是这样做可能只适用于实时性不要求很高的应用。对于一个论坛,大家发表了文章,没有理由要求他过一会儿才能看到自己贴的文,他会以为自己没贴成功,会继续贴了很多个同样的文章。一般都要求一发贴就能看到的..... 这些情况又没有好方法呢? > > > > 期待跟你交流,你是属于吃透zope的架构,并且善于根据自己应用的特点去做优化的人。 > > > > -----邮件原件----- > > 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 周海文 > > 发送时间: 2004年5月26日 18:03 > > 收件人: python-chinese at lists.python.cn > > 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > > > > 呵呵!,不好意思,这个就是我们做的。 > > 你说的对,我们基本上是全部用ZOPE中的External Method连接python程序,然后由python程序产生html输出。在ZOPE中作了缓存,有一个后台更新程序定时从数据库选择数据,然后更新到ZOPE的内存空间,python程序则直接从内存中拿数据组成动态的页面。 > > > > 至于共享数据库连接的问题,你可以先写一个简单的数据库连接类,然后实例化成对象,然后从其他的python程序中import这个对象,用这个对象访问数据库,就已经是共享的了。 > > > > 这种共享数据库连接的方法是基于python的,所以不仅在zope中可以,而且在apache+mod_python中也可以(我们有apache+mod_python的项目也是这么用的)。 > > > > > > ----- Original Message ----- > > From: "Tan Lihui" <tony at exchange.ricsson.com> > > To: <python-chinese at lists.python.cn> > > Sent: Wednesday, May 26, 2004 5:28 PM > > Subject: 答复: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > > > > > > 巨灵财经? > > 怎么找人问呢? > > > > -----邮件原件----- > > 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 Jacob Fan > > 发送时间: 2004年5月26日 15:55 > > 收件人: python-chinese at lists.python.cn > > 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > > > > > > ----- Original Message ----- > > From: "周海文" <zhou.haiwen at gti.cn> > > To: <python-chinese at lists.python.cn> > > Sent: Wednesday, May 26, 2004 3:41 PM > > Subject: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > > > > > > > 你说zope的效率有问题,你可以看看 http://webfinance.gti.cn,这个网站目前的数据库容量已有13GB,是使用zope+python的组合,效率也不见差呀? > > > > > > 关于效率,我认为 apache+mod_python 是python中最快的组合。 > > > > 是啊,不是一般的快。 ;-) > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > -------------------------------------------------------------------------------- > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > -------------------------------------------------------------------------------- > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese >
2004年05月27日 星期四 11:52
python-chinese,您好! 昨天服务器被攻击。折腾了一天,我在前面家了个freebsd的防火墙,然后将后面的2k发布出去。 BT我继续做种子,刚开。上传 180k/s 致 礼! info info at xichen.com 2004-05-27
Zeuux © 2025
京ICP备05028076号