我有一个原生应用程序:应用程序需要来自服务器的数据,服务器运行PHP(这是一个相当基本的共享主机)。当请求数据时,PHP必须验证来自应用程序的POST的令牌是否在令牌列表中。令牌不在数据库中(即:我无法查询要求令牌的数据库)。
我可以执行以下操作之一(NoSQL dbs不是一个选项):
我有一个包含令牌数组的PHP文件:应用程序调用的PHP文件包含此文件;
在一个目录中我有n个以令牌名称命名的txt文件:我测试是否存在名称来自应用程序的文件;
我有一个包含令牌的txt文件:正则表达式搜索令牌;
我有一个JSON文件:PHP加载JSON,然后我验证是否有令牌;
我想知道的是:读取数据的最快方法是什么?有没有更快的方法?代币不能超过5000。
提前致谢!
答案 0 :(得分:2)
让我在这里添加我的观点,正如@hanshenrik建议的那样,带有一系列令牌的PHP文件将是更快的方法,还有一件事,在PHP世界中,Laravel是一个臭名昭着的框架,他们确实利用了这个翻译方法。在laravel中,它们使用单独的PHP文件,这些文件返回翻译密钥对的关联数组,
我目前正在处理的项目有许多包含翻译数据的大量文件。但没有性能问题。希望这有帮助
答案 1 :(得分:1)
专用的.php文件方法中的硬编码令牌肯定是最快的方法(例如考虑OPcache,它在第一次执行后已经预编译)。 就个人而言,我只是使用SQLite数据库和PDO,除非并且直到我遇到性能问题。毕竟,sqlite db只是一个文件。 (并且它比.txt文件更容易查询,删除,添加和扩展,它会为你修改并发问题...虽然你可以轻松地用一点flock()手动执行相同操作)