0

我正在设计一个简单的 web 应用程序,它每天为用户组织每日圣经阅读。阅读量平均每天约 300-400 字。

例如 user1 今天注册了,所以 day1 的读数返回给他们。用户 2 一周后注册,但对他们来说仍然是第 1 天,所以他们再次获得第 1 天的读数,依此类推..

我预计在发布时会有大约 100 个用户,以后可能会扩展。

现在我可以想到两种方法来做到这一点:

1) 将整本圣经存储在数据存储中(总共约 30,000 节经文)并查询每天的读数(约 50 节经文),同时可能将已查询的日期缓存为文件。

2) 有一个本地脚本将每天的读数存储在一个文件中(总共 365 个文件)并渲染文件并将其返回给用户,而无需接触数据存储。

请记住,在那之后的一年会有不同的读数,所以如果我选择选项 2,我必须上传一组新文件。

我真的不知道我想要什么以及每个选项的效率如何。有任何想法吗?我还缺少其他东西吗?

4

2 回答 2

1

这取决于您希望网站的“动态”程度。如果您严格地每页返回一节经文,那么将所有页面预渲染为 HTML 将非常划算。

当您收到用户的请求时,您可以在他们访问页面时获取用户实体,计算适当的诗句以显示他们,然后将他们重定向到诗句页面。作为一个额外的好处,如果诗句页面是静态的,它们可以很好地缓存在 Google 的边缘缓存中,并且您在提供页面方面不会有任何成本。

然而,如果你想动态地创建你的页面,这个机制就没有那么有用了。

不过一般来说,由于这些经文不是一个会改变的数据集,所以将其存储为一个文件并自己索引这些经文会更便宜。

于 2013-08-26T15:45:55.030 回答
0

稍微抽象一下,用户需要处理一系列项目。我不清楚读者是按自己的速度进行处理,还是以被读者的开始日期抵消的恒定速度进行处理。不过,无论哪种方式,处理起来都很简单。

您需要一个代表用户的实体。为此,您需要要求用户登录。然后,您可以使用他们的电子邮件地址作为该实体的密钥。如果用户以他们自己的速度阅读阅读(例如,不超过每天一次),那么您可以记录最近一次访问的日期,以及他们在该日期呈现的项目(阅读)的索引. 当他们在新的日期访问时,索引会前进,并且他们会获得一个新项目(读数)。

如果读数是根据用户的开始日期固定的,则实体需要记录其开始日期,以便您可以通过计算当前日期与其开始日期之间的差异来确定读数(针对从 1 开始的索引进行相应调整) .

两种方式都假定您的读数按数字、键值或某个索引字段进行索引。

于 2013-08-25T04:46:24.880 回答