我有一个多语言的php应用程序,所有的语言数据目前都存储在数百个小文本文件中。每个文本文件的格式如下:
en-US: hello
zh-CN: 你好
xx-YY: arbassdgtr
要输出页面,应用程序会读取多个文件。有一些缓存(脚本会避免两次读取同一个文件),但它对我来说看起来很野蛮。
SQLite数据库不会更快,甚至可能更少CPU密集吗? 考虑到该应用程序为大约300个并发用户提供服务,因此在任何给定时间都可以读取数千个文本文件。
难道不难。在完成工作之前,只需寻找最佳实践建议。
答案 0 :(得分:0)
这个应用程序及其性能正在SQLite文档中讨论:
Internal vs. External BLOB storage
文本和BLOB的处理差别不大。
我也在使用类似SQLite的东西,而且效果非常好。打包更容易,只要一切都是只读的,即使有300个用户,性能也应该很好。
有些方面请注意:您应该考虑在语言字段上创建一个索引,并准备一个语句来查看文本。另外,请考虑使用* 16变体来存储真正的Unicode文本。