PHP: 内存中搜索

PHP: in-memory searching

我的 PHP 应用程序需要支持来自 Web 浏览器的 Ajax 调用,这些浏览器提供带有搜索字符串的控制器功能。该搜索字符串是根据内存中 "array" 的名称 + ID 进行搜索的。找到名称后,名称 + ID 将添加到 AJAX 调用的 return 结果中。

最初,名称 + ID 驻留在数据库中。

我正在寻找最佳实践,其中 PHP 服务器的每个实例在第一次调用时懒惰地一次从数据库加载列表,并在内存中为所有后续搜索执行子字符串搜索.

memcached 适合这个吗?我知道这是一个内存中的键值存储库,但它可以处理子字符串搜索吗?我可以使用其他最佳实践吗?

Memcached 没有这样的功能,它只允许通过已知键访问值。值对于 memcached 是透明的。

要有效匹配子串,最好看看支持二级索引的存储引擎,例如tarantool

如果值的预期大小不是太大,也许简单的 PHP 函数就足够了。