当前位置:  开发笔记 > 编程语言 > 正文

JPA和Memcached有何不同?

如何解决《JPA和Memcached有何不同?》经验,为你挑选了1个好方法。

我试图弄清楚Memcached和JPA之间的区别,这是我从我的信息中推断出来的

    Memcached:在内存中缓存数据和对象,就像在飞行数据库中快速访问数据一样.这个层就在实际的db之上(比如我的sql).它有自己的列和行,在哪里可以保存一些临时数据(热数据).RAM中的小型数据库.

    JPA:管理关系数据(应该在数据库中的数据),开发以使生活变得简单,即我们不必进入休眠和东西.(在外行人的任期内,我对JPA感到困惑:|)

所以,从我看到的地方":

    两者都提供了在内存中保存关系数据的功能.- 错了

    用于快速进行数据访问.- 错误

    两者都是一样的(我肯定不是) - 错了

现在,有人告诉我他们在他们的系统中使用了Memcahed和JPA(他们处理大量数据集)所以,这有什么意义呢?

添加问题:在阅读完答案之后,如果我正在建立一个处理大量数据集的系统,我将使用memcached,但我仍然不明白,为什么我要去JPA如果:1.我需要处理巨大的问题数据集,2.使系统可扩展.



1> cletus..:

JPA是一个ORM(对象关系映射器),用于将对象模型映射到关系数据库模型.

Memcache是​​一个内存缓存,它只是一个键值对映射.

他们真的适合不同的应用程序.JPA是使用SQL的替代方法.它具有缓存元素,但主数据源是数据库,因此用于预先存储的数据.Memcache数据存在于内存中并且不是持久性的,因此对于更多的瞬态数据.

让我补充一点可能有争议的观点:JPA不会扩展.

JPA(以及所有ORM)是一种便利,可以通过将对象模型投影到关系数据库来加速开发,但它不如原生SQL快.通常,您最终会找到生成高性能SQL的正确设置组合.正如乔尔所说,所有的抽象都是漏洞.JPA也不例外.

让我强调你可以在JPA上走得相当远,但在某些时候你需要转向SQL.

Memcache解决了一个不同的问题,不应该与JPA进行比较.Memcache可以非常好地扩展,只要您可以对数据进行分区,在这种情况下,您可以拥有所需数量的服务器,瓶颈就会变成网络带宽,内存和CPU.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有