限制API请求

Kar*_*tik 0 php api

我试图找出限制给定密钥的API请求的最佳方法.基本上,我目前有一个表字段counter,其中每个请求我添加1到前一个值.所以我已经记录了每个请求但我的问题是什么是限制用户输出限制输出的最有效方法由n一个月的请求数决定.

现在我的解决方案是你只是比较if counter <= n然后继续获取数据,但是有更好的方法吗?考虑到数据被缓存,如果您在每次请求计数器时查询数据库,您也可以请求数据.

谢谢

Pau*_*aul 5

您可以使用php memcache之类的东西将与每个键关联的计数器直接存储在内存中.然后,您可以每天一次将所有值备份到数据库中,以防服务器发生故障而丢失内存中的数据,您将只丢失部分一天的计数.

根据您提供的密钥数量,您必须确定这将使用多少内存,以及它是否是一个实用的解决方案.

您也可以使用中间地点,只缓存每个月达到限制的那些.因此,每当一个键达到它的最大请求数时,你就会在内存中标记它.然后在每个月末,当你重置数据库中的计数时,你也将它们全部清除内存.

这样您就可以向数据库发出请求,直到用户达到限制(因为您无论如何都要查询数据库),然后停止查询表.