【问题标题】:Distributed caching for MybatisMybatis的分布式缓存
【发布时间】:2012-05-13 06:34:24
【问题描述】:

有人有过Mybatis分布式缓存的生产经验吗?我看到了一些关于 ehcache/Terracotta 的建议,但是以前使用 Terracotta 的经验会让我想远离它(配置和继续运行很复杂)。 Hazelcast 似乎是一种有趣的可能性——有人尝试将它用作 Mybatis 的分布式缓存吗?

我们的应用有一个相对较大的数据库 (1TB),因此我们需要一个可扩展的解决方案。

【问题讨论】:

    标签: java mybatis distributed-caching terracotta hazelcast


    【解决方案1】:

    在 MyBatis,我们已经发布了MyBatis/Hazelcast bridge module

    【讨论】:

    • 谢谢,西蒙娜!我们会尝试并提供反馈
    • Simone - 在 OSCache、memcached 和 Hazelcast 之间进行选择的标准是什么?我们显然想要性能、可靠性、效率——你能在 mybatis 支持的缓存之间给出任何建议吗?例如,我可以想象单点故障问题是不同的,因为 Hazelcast 在所有节点上分发了缓存的冗余副本(但可能需要额外的资源)......
    【解决方案2】:

    我一直在使用 Ehcache 和 Mybatis+Spring 进行生产,它非常有效。 它的配置非常简单。 (几乎 10 行 xml 文件)

    在个人层面上,我的建议是使用 Ehcache。

    PS :我确实使用 hazelcast 来实现差异化目的,这需要分布式缓存,而且它也很棒,但对于 MyBatis 来说,这就像用枪射击昆虫一样。!

    【讨论】:

      【解决方案3】:

      我正在使用 Redis 进行集群缓存。我总共有 5 个节点在上面运行,缓存永远不是瓶颈。

      官方插件https://github.com/mybatis/redis-cache运行良好但效率不高,我通过集群支持和更高效的超时控制对它进行了一点改进https://github.com/MiltonLai/redis-cache

      【讨论】: