1

我正在创建一个产品(在 php 中),它通过调用 api 来提取所需的信息,我想根据使用的查询字符串将这些结果缓存/保存到 mongodb 中,以便下一次调用相同的查询字符串从 mongodb 拉取而不是再次调用 api。

我试图确保我涵盖的唯一问题是这个例子:搜索 John Doe 可能会在结果中返回 John Michael Doe,再次搜索 John Michael Doe 我实际上希望这个搜索能够命中 api,因为它会深入挖掘,并且下次 John Michael Doe 正在搜索从 mongo 中提取。

我了解如何编写代码和进行拉取等,我只需要存储缓存的理论,我是否应该在 mongo 中创建一个表来保存每个搜索到的查询字符串并进行精确匹配,如果它没有找到任何匹配项打API?

非常感谢所有帮助。

4

1 回答 1

3

我认为一种常见的做法是使用 md5 对查询参数进行哈希处理,然后使用它作为存储结果的键。下次有人发送查询时,您再次散列他们的查询参数并检查该键是否已存在于数据库中。如果是,则从数据库提供结果,如果不是,则调用 API。

$key = md5(serialize($queryParams));
于 2013-04-09T18:02:13.023 回答