【发布时间】:2010-10-11 17:34:28
【问题描述】:
我最近discovered 说 CherryPy 中的页面对象属性在请求之间(以及客户端之间)是持久的。所以我想知道,将页面输出存储在这样的属性中是否有意义?像这样:
class Page:
def default(self, pagenumber):
if pagenumber not in self.validpages:
return 'Page number not found'
try:
html = self.pageoutput[pagenumber]
except KeyError:
html = self.formatter(self.dbcall(pagenumber))
return html
default.exposed = True
def formatter(self, data):
html = # Formatting code here
return html
def dbcall(self, pagenumber):
data = # Database lookup code here
return data
我默认知道 CherryPy caches GET requests。在我的测试中,当对象属性是输出的一部分并且该属性发生更改时,CherryPy 会提供该属性的新值。这是否意味着输出仅被部分缓存?
对我来说,只要您每次更改数据库时都更新 self.pageoutput,这将很有用。我能想象的唯一困难是如果我想显示特定于用户的信息。你怎么看?
【问题讨论】:
标签: python caching get cherrypy