哪个内存Db应该用来缓存一个Tree,主要用于读取?

问题描述 投票:1回答:2

使用案例:我们有一个Trie数据结构,每天访问量超过10万次。遍历此trie(基于输入参数)并返回存储在叶节点处的JSON。

问题/关注:最初,我尝试将此Trie存储在Redis中并使用LUA脚本执行遍历逻辑。但是,在执行时,LUA脚本会阻止整个Redis服务器。因此,有时它会影响我的系统性能。

问题:我有两个问题:

  1. 什么是缓存此Trie的最佳策略,其中读取很高,很少有任何更新。
  2. Redis是这个用例的最佳选择吗?如果没有,请建议。
caching lua redis in-memory-database
2个回答
0
投票

我们的数据库系统eXtremeDB(闭源)和Perst(开源)都提供Patricia Trie索引。没有必要实现自己的并缓存它。

每天100,000次访问,无论是否为只读,都不是繁重的工作量。你的Redis实现可能有问题;我相信别人会在w.r.t.那。

免责声明:我代表eXtremeDB和Perst的供应商。


0
投票

我们正在使用Redis使用“近缓存”。 Redisson提供此功能。如果Redisson导致问题,我们将尝试Hazelcast,默认情况下提供近缓存。

© www.soinside.com 2019 - 2024. All rights reserved.