0

如果搜索的键不存在,我如何覆盖方法 GET 或编写将在服务器端执行的新函数返回另一个键值?

例子:

如果关键字“word_1 word_2 word_3 word_4”不存在搜索此关键字“word_1 word_2 word_3”,如果关键字“word_1 word_2 word_3”不存在搜索此关键字“word_1 word_2”,如果关键字“word_1 word_2”不存在搜索此关键字“word_1” . 这种递归搜索必须在服务器端(为了速度)。

4

2 回答 2

1

Redis 没有内置此功能,但如果您真的希望在服务器上完成此操作,您可以使用 Lua 脚本为您完成此操作。

如果您不想这样做,另一种方法是生成可能的搜索键,在您的示例中是

word_1 word_2 word_3 word_4
word_1 word_2 word_3
word_1 word_2
word_1

然后发出MGET一次获取所有密钥。在您的应用程序逻辑中,您可以迭代结果以获取第一个具有值的结果

于 2015-12-04T10:11:26.673 回答
1

这必须在您的应用程序层中完成,在 Redis 中没有基础设施可以这样做,我相信这永远不会成为产品的一部分,因为 Redis 的重点是轻量级和极快:您在执行管道中添加的功能越多,你牺牲的性能越多......

于 2015-12-04T09:05:39.747 回答