我正在构建一个应用程序,该应用程序使用文本字符串(例如“ ABCD”),然后对其进行各种转换,并以布尔值的形式返回关于字符串是否经过字符串转换的结果。转换为标准格式,符合某些条件。
在我的用例中,将字符串转换为标准格式后,大约有8,000个唯一键。这意味着,我不必每次转换字符串时都执行所有评估,而只需创建一个以标准化字符串为键,结果为对的查找表。
这种区别看似微不足道,但是性能非常重要,因为我的用户一次上传了50k-270k的字符串,他们每天会多次上传,因此我需要能够返回270k的结果实际上是实时的字符串。查询MySQL数据库50k-270k次似乎比仅每次执行一次操作效率低得多。我的难题缺少什么?是否可以通过编程方式在我可以反复访问的语言本身内部创建一种持久性查找表?
一方面,我知道我可以通过创建一个脚本来以编程方式创建一个记忆数组,该脚本在标准化字符串的每个组合上运行函数,但是我不知道如何使它随时间而持久,因此我不需要在每次上传时执行此操作。同样,我知道如何在MySQL中执行此操作,但是我可以想象,单个查询的绝对数量将使它成为一个糟糕的选择。中间地带在哪里?