java - Guava/Voldemort/MySQL 刷新到数据库问题

标签 java mysql guava voldemort

有没有人有在 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/

相关文章:

java - nifi 1.0.0 - 扩展标准处理器的行为

Mysql 查询从 1 个表获取行并使用来自其他表的 where 子句获取特定列值

java - 尝试获取 Google 日历服务时出错

java - java中继承的问题

带有 Eclipse 和 Maven 的 OSX 上的 JAVA_HOME

mysql - 存储过程 WHERE 或 HAVING 不起作用

php - Concrete5 显示数据库值

java - 谷歌集合中 map 静态初始化的最佳方式

java - Guava的ImmutableList的线程安全靠什么保证?

java - 为什么实例方法的Java Method Reference不能赋值给Consumer接口(interface)