有没有人有在 voldemort 前面使用 Guava 的经验(后端有 mysql 存储选项)我对 MySQL 有深入的经验,但 voldemort 和 guava 对我来说很新。
我正在通过系统模拟写入,但在写入完成后实际上无法看到 mysql 表中的所有记录。 MySQL 似乎只写了我扔在 Guava 上的大约 80% 到 90% 的记录。
在某些情况下,后续读取会使记录刷新到后端 mysql,但我想知道是否有更好的方法来发出刷新命令。 (因为 voildemort 守护程序的关闭也不会发出刷新)
有什么想法吗? 提前致谢! C
最佳答案
取决于您定义的驱逐政策。 Guava 会回调你的 evictionListener。 这里有一些策略,如 expireAfterAccess、expireAferWrite、softKeys、softValues、weakKeys 和 weakValues。 我们使用 Guava 作为缓存层,后端使用 MySql,使用 Postgres 作为持久层来存储 10 亿条键/值记录。由于我们的性能要求要求在 5 毫秒范围内进行随机读/写。我们为 voldemort 开发了一个 CacheStore 插件。请查看 http://code.google.com/p/cachestore/看看它是否符合您的需要。
关于java - Guava/Voldemort/MySQL 刷新到数据库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4963358/