php - 如何使用数据库记录请求计数,将每个用户每天的最大网站请求限制为 10 个?

标签 php database

我有一个人的用户名,他每天可以发出十个请求。每天的请求量都会回到0,不再需要旧的数据。

最好的方法是什么?

这是我想到的方法,但我不确定这是否是最好的方法
(两个字段,today_date,request_count):

  1. 在数据库中查询上次请求的日期和请求计数。
  2. 获取结果并检查是否是今天。
  3. 如果是今天,请检查请求计数,如果小于 10,则将查询数据库更新为 ++count
  4. 如果不是今天,请使用今天的日期和 count = 1 更新数据库。

是否有另一种方法可以减少数据库查询?

最佳答案

我认为你的解决方案很好。也可以每天重置计数。这将允许您跳过一列,但您确实需要运行 cron 作业。如果有很多用户根本没有任何请求,则无需每天重置其计数。

但无论您选择哪一个,这两种解决方案在性能、数据大小和开发时间/复杂性方面都非常相似。

关于php - 如何使用数据库记录请求计数,将每个用户每天的最大网站请求限制为 10 个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6365838/

相关文章:

php - 建议实现此 "word stack"的另一种方法,它解决了我的方法是受害者的已知问题

php - 更改后更新显示的表格而不刷新

php - 使用tinymce时无法向mysql数据库插入内容

python - Django DB在模型中存储上传的文件是否高效?

php - 输入类型密码值?

php 用户 ID 分配不起作用

php - MYSQL排序和限制使用某一行并选择上一行和下一行

php - ob_start() 正在部分捕获数据

python - 简单的 Python-MySQL 桥?

php - 在 genesis 框架中的子菜单中添加一个 div 的函数