Redis 预 GET 事件

标签 redis in-memory-database in-memory database-cluster

如果搜索的键不存在,我如何覆盖方法 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”。 此递归搜索必须在服务器端进行(为了速度)。

最佳答案

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

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

word_1 word_2 word_3 word_4
word_1 word_2 word_3
word_1 word_2
word_1

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

关于Redis 预 GET 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34084361/

相关文章:

php5-fpm 完全忽略 redis ini 文件

java - 如何使用 Derby 创建内存数据库表?

http - angular2 http.delete on-memory-web-api

database - 内存中的 H2 DB 清理 RAM

rust - 如何在 Rust 中创建可用作 Reader、Writer 或 Seek 的内存对象?

php - 在MySQL插入之前使用redis作为中介

ruby-on-rails - 私有(private)方法中的 HGET 不返回哈希

Laravel 缓存剩余 TTL

entity-framework - 使用 EF Code First DataContext 进行单元测试

hadoop - 使用 CACHE_THROUGH 将数据写入 alluxio 失败