Redis缓存未命中行为

3

我刚接触Redis并了解到它的全部功能。目前我有一个小的Web前端,可以确定项目是否在Redis缓存中,如果不在,就从S3获取该项目并添加到Redis缓存中。

是否有一种方式让Redis在缓存未命中时执行一个操作(或运行一个脚本)?理想情况下,我希望删除这个Web前端,并让客户端(实际上是一个REST服务器)直接连接到Redis以检索数据(如果Redis缓存未命中,则会从S3加载丢失的数据)...

TIA


3
Redis无法单独完成这个任务...... 你的Web前端是什么? 您可以使用带有Redis模块的nginx实例,在其中检查Redis中的缓存内容。如果没有缓存,则从S3获取并保存到Redis中。 - Max Ivanov
Redis内部可用的Lua脚本仅限于操作Redis数据,无法访问外部世界。因此,您需要将Redis包装在其他东西中。Nginx是一个自然匹配项,因为它也使用Lua,但您可以使用任何具有Redis支持的语言,取决于您的性能需求。 - MarkHu
1个回答

1

Redis并没有默认提供此功能。然而,它是开源的,如果您真的想要,可以添加自己的逻辑... 前往http://github.com/antirez/redis,分叉并开始编码。


如果键被驱逐算法从Redis中移除,会发生什么? - Jayendra Parmar
@bruce_wayne 我不确定我理解你的问题。也许你应该创建一个新的问题,并提供所有细节? - Itamar Haber

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接