我用PHP构建了一个小型的Web服务.我想控制对特定API方法的调用次数.
我首先想到的是使用文本文件,因为它只是一个整数.但仔细看看SQLite之后,它似乎更方便了.所以代码就是:从SQLite获取"计数器"并在调用该方法时将其递增,然后将其存储回SQLite数据库.
这是一种正确的做法吗?只使用一个文件还是......可能更简单,更具可扩展性?
提前致谢.
第三种可能性:memcachedb.它与memcached兼容,但将它的键值存储存储到BDB文件中.它不仅具有读写命令,还具有数值的原子递增/递减.
另一种选择是写一个'柜台服务器'.一个独立的进程,通过套接字获取"读取"和"递增"命令.优点是"原子"增量非常容易.它将它的计数器存储在一个简单的文件上,没有并发问题,因为它永远不会有多个服务器.
它应该很容易在不到一百行的C中写入.只需一次处理一个命令的紧密循环,每隔几秒刷新一次.由于处理非常简单,因此延迟很小.