1

我有一个包含一千条记录的表,我想做一个像搜索全文/模糊搜索的谷歌。

我读到了MySQL v8 的全文搜索,假设我们还没有那个功能。

有一个名为Fuse.js的 JavaScript 库可以进行模糊搜索,这正是我所需要的。

我可以通过创建一个以 JSON 格式返回表数据的 API 来组合它,然后将其传递给 Fuse.js 进行模糊搜索。

现在,我认为不建议每次有人想要搜索时都从表中加载所有数据。

我阅读了 Redis,首先想到的是使用 Redis 保存所有表数据,JSON.stringify并且每次都调用它,而不是查询数据库。然后每当在表中添加数据时,我也会更新 Redis 中数据的内容。

有一个更好的方法吗?

4

1 回答 1

0

这是一种非常常见的缓存模式。

如果您需要一种更有效的方式来存储和从 Redis 中检索 JSON,您可能需要考虑使用其中一个可用的 Redis 模块。

例如

RedisJSON允许您有效地存储、检索、项目(jsonpath)和更新。

RediSearch允许您对 Redis Hash 进行全文搜索,并根据用户的查询有效地检索数据。

最后的

RedisJSON2(又名 RedisDoc)结合了上述两个模块,意味着高效的 JSON 存储和检索并支持全文

于 2019-09-12T15:36:31.663 回答