我用 PHP 构建了一个小型网络服务。我想控制对特定 API 方法的调用次数。
起初我想到了使用文本文件,因为它只是一个整数。但是在仔细研究了 SQLite 之后,它似乎方便多了。 所以代码只是:从 SQLite 获取“计数器”并在调用该方法时递增它,然后将它存储回 SQLite 数据库。
这是正确的做法吗?仅使用一个文件还是...可能更简单、更具可扩展性?
提前致谢。
最佳答案
第三种可能性:memcachedb .它与 memcached 兼容,但将其键值存储存储到 BDB 文件中。它不仅有读写命令,还有数值的原子递增/递减。
另一种选择是编写“计数器服务器”。一个通过套接字获取“读取”和“递增”命令的独立进程。优点是做“原子”增量真的很容易。它将计数器存储在一个简单的文件中,没有并发问题,因为服务器永远不会超过一个。
用不到一百行的 C 语言编写应该很容易。只需一个紧密的循环,一次处理一个命令,每隔几秒刷新一次磁盘。由于处理非常简单,因此延迟最小。
关于php - 选择什么来存储一个整数?数据库?或文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476933/