首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型只读数据库的高速缓存建议

大型只读数据库的高速缓存建议
EN

Stack Overflow用户
提问于 2010-05-11 06:44:02
回答 3查看 928关注 0票数 4

我正在建设与Spring,Hibernate和Mysql的网站。mysql数据库包含坐标和位置等信息,它永远不会更新,只会查询。数据库包含15000行坐标和48000行坐标连接。每次处理请求时,应用程序都需要读取所有这些坐标,这大约需要3-4秒。我想设置一个缓存,以便快速访问数据。我现在正在研究memcached,你能告诉我这是不是最好的选择?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-12 00:13:14

虽然Memcached有一个CacheProvider实现,但以下是我的想法:

  • Memcached不是正式的supported,上面的CacheProvider是第三方实现(这可能不是though).
  • Memcached运行out-supported的问题,它是一个客户端服务器缓存和,每个EhCache缓存都有网络和编组开销,比如Ehcache运行 in -process (在同一个JVM中),所以访问更快(无论你是使用内存存储还是磁盘存储),并且集群节点之间不会有任何只读模式的网络通信,即根本没有开销。
  • 我认为Ehcache会更快(参见下面的参考资料)。

换句话说,我会选择Ehcache。

参考文献:

  • Comparing Memcached and Ehcache Performance
  • EhCache vs Memcached caching for JEE Applications
票数 3
EN

Stack Overflow用户

发布于 2010-05-11 14:34:24

这个问题很有趣。我曾经在hibernate项目中非常成功地使用过ehcache,但我并不是只读数据。

Memcached最初并不是为使用hibernate之类的上下文而设计的,尽管我看不出有任何理由不能使用它。在您的上下文中使用memcached的唯一缺点是,您可能不需要时髦的分布式缓存功能,因为您可能在一台服务器上有足够的内存来处理负载,因此您不会从memcached的客户端服务器开销中获得任何好处。

我认为您不会后悔使用memcached的决定。它被广泛用于缓存网站,我看不出你为什么不能在你的上下文中使用它。

票数 2
EN

Stack Overflow用户

发布于 2010-05-11 13:48:39

你也看过Hibernate分片吗?Hibernate允许您将不同的行放在不同的数据库中,使查找更容易。在过去的3年里,它已经可以使用了。This是一个很好的起点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2806947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档