Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching 最佳缓存策略,可重复访问约100000个条目的字典_Caching_Redis - Fatal编程技术网

Caching 最佳缓存策略,可重复访问约100000个条目的字典

Caching 最佳缓存策略,可重复访问约100000个条目的字典,caching,redis,Caching,Redis,我正在开发一个为视频内容提供翻译字幕的应用程序。我的访问模式如下所示: 获取视频字幕 对于每个单词,从“翻译数据库”中获取翻译(基本上只是x语言中word->word的字典) 返回聚合翻译 每个视频可能有数千个单词,而我目前的方法对于一个视频需要几秒钟的时间——主要是通过重复抓取单词->单词翻译来完成。由于整个翻译词典是有限的,而且相对较小,大约只有几兆字节,我想我可以简单地缓存整个词典,以跳过所有那些微小的数据库获取 缓存策略的新概念-像Redis这样的东西是过度杀伤力,还是这是一个预期

我正在开发一个为视频内容提供翻译字幕的应用程序。我的访问模式如下所示:

  • 获取视频字幕

  • 对于每个单词,从“翻译数据库”中获取翻译(基本上只是x语言中word->word的字典)

  • 返回聚合翻译

  • 每个视频可能有数千个单词,而我目前的方法对于一个视频需要几秒钟的时间——主要是通过重复抓取单词->单词翻译来完成。由于整个翻译词典是有限的,而且相对较小,大约只有几兆字节,我想我可以简单地缓存整个词典,以跳过所有那些微小的数据库获取

    缓存策略的新概念-像Redis这样的东西是过度杀伤力,还是这是一个预期的用例?我更愿意保持低成本。如果相关,请使用Node.js后端。

    您几乎没有选择:

  • 您可以使用Amazon Translate,它将为您完成繁重的工作。您可以简单地调用API并获取转换文本(批处理API和实时API都存在)

  • 如果缓存大小只有几兆字节,则在应用程序启动时从数据库检索字典,并将其保存在应用程序内存中。然而,若字典将增长,那个么将其保存在Redis中