gpt4 book ai didi

php - 需要支持来确定 cron 作业的查询

转载 作者:行者123 更新时间:2023-11-29 01:45:15 25 4
gpt4 key购买 nike

我有一个文章投票系统。文章存储在“故事”表中,所有投票都存储在“投票”表中。 'stories' 表中的 id 等于 'votes' 表中的 item_name(因此每次投票都与带有 item_name 的文章相关)。

我想做到这一点,当投票总数达到 10 时,它会将“故事”表中的“显示”字段更新为值“1”。

我正在考虑设置一个每小时运行一次的 cron 作业,以检查所有显示 = 0 的帖子。如果显示 = 0,它将汇总与该文章相关的投票,如果投票总和,则设置显示 = 1 >= 10。我不确定它是否有效,因为它可能会占用大量服务器资源,不确定。

那么有人可以建议一个可以完成任务的 cron 作业吗?

这是我的数据库结构:

故事表

enter image description here


投票表

enter image description here


编辑:

例如“故事”表中的这一行:

id| 12
st_auth |作者姓名
st_date | 故事日期
st_title| 故事标题
st_category| 故事类别
st_body| 故事正文
显示| 0表示未批准,1表示已批准

这一行与“投票”表中的这一行相关

编号| 83item_name| 12(文章编号)vote_value| 1 表示赞成 -1 表示反对...

最佳答案

一些事情:

  1. 为什么将 votes 表中的列命名为 item_name,而实际上它是 article 表的 ID?我建议将它与文章表进行匹配,因为它是 int(11) 与 var_char(255)。此外,您应该向 votes 表添加一个外键约束,这样如果一篇文章被删除,您就不会在 votes 表中孤立一行。

  2. 为什么 vote_value 列是一个 int(11)?如果它只能是两个状态(1 或 -1),您可以执行一个带符号的 tinyint(1)(对于 -1)。

  3. 投票表中的 ip 列有点令人担忧。如果您通过 ip 调节“唯一”投票,您是否考虑了代理 ips?像这样的事情应该在帐户级别处理,因此来自同一代理 IP 的多个用户可以单独投票。

  4. 我不会执行 cronjob 来确定 showing 列应该标记为 0 还是 1。相反,我会在每次对文章投反对票时发布一个计数。因此,如果有人投了赞成票或反对票,计算故事的新值(value),并将其存储在缓存中以供将来读取。

关于php - 需要支持来确定 cron 作业的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8597241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com