Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 扩展EhCache_Hibernate_Scalability_Spring Security_Memcached_Ehcache - Fatal编程技术网

Hibernate 扩展EhCache

Hibernate 扩展EhCache,hibernate,scalability,spring-security,memcached,ehcache,Hibernate,Scalability,Spring Security,Memcached,Ehcache,我目前正在构建一个需要可扩展的应用程序,因此我对分布式缓存而不是复制缓存感兴趣。对于常见的缓存用例,我们将使用memcache 然而,Hibernate和Spring Security ACL都依赖于EhCache,它似乎没有与memcache相同的复制方案,我担心失效逻辑 我的应用服务器需要无状态才能很好地扩展,我想知道是需要在memcache上运行Hibernate和Acl,还是它们只存储临时数据 谢谢你的帮助 Nicolas。您不会被迫使用任何一种缓存实现。虽然Ehcache是Spring

我目前正在构建一个需要可扩展的应用程序,因此我对分布式缓存而不是复制缓存感兴趣。对于常见的缓存用例,我们将使用memcache

然而,Hibernate和Spring Security ACL都依赖于EhCache,它似乎没有与memcache相同的复制方案,我担心失效逻辑

我的应用服务器需要无状态才能很好地扩展,我想知道是需要在memcache上运行Hibernate和Acl,还是它们只存储临时数据

谢谢你的帮助


Nicolas。

您不会被迫使用任何一种缓存实现。虽然Ehcache是Spring的实际版本,但您可以轻松地为memcached引入不同的
CacheManager
,并使用它。您还可以编写自己的
MethodSecurityInterceptor
来执行任何自定义缓存/失效逻辑。基本的Spring安全类只是一个指南,但实际上只适用于它们非常通用的情况——我经常发现我必须为自定义应用程序逻辑编写自己的实现

我目前正在构建一个需要可扩展的应用程序,因此我对分布式缓存而不是复制缓存感兴趣

你能详细说明一下吗?是什么让您认为复制缓存无法扩展?到什么程度

然而,Hibernate和Spring Security ACL都依赖于EhCache,它似乎没有与memcached相同的复制方案,我担心失效逻辑

Hibernate使用EhCache作为默认的二级缓存提供程序,但二级缓存提供程序是可插入的

关于您的担忧,请再次详细说明:

  • 你到底要缓存什么
  • 您需要支持哪些缓存策略(只读、非严格读写、读写、事务性)
  • 你为什么担心?你测量过什么吗?有什么地方的负面反馈吗
我的应用服务器需要无状态才能很好地扩展,我想知道是需要在memcache上运行Hibernate和Acl,还是它们只存储临时数据

缓存不能使你有状态。对不起,我不理解你的问题

虽然在Hibernate中使用memcached似乎是可能的,但memcached并不仅仅具有优势(它不是官方支持的,它是一个远程缓存,这意味着你总是通过网络发送东西,我甚至不知道它支持什么策略)

我认为你应该澄清你的要求和你的担忧。在目前的状态下,我不理解你写的所有东西

顺便说一句,我可以告诉你EhCache的可扩展性非常好,我在一个“大”的24+节点集群上使用过它,没有任何问题(当然,“大”是相对的,但这看起来不错)