Java 应用程序缓存v.s.hibernate二级缓存,使用哪种缓存?
我可以选择使用应用程序缓存 即手动将对象缓存到分布式memcached/redis群集 或者让hibernate二级缓存执行缓存工作(对于那些应用程序对象)Java 应用程序缓存v.s.hibernate二级缓存,使用哪种缓存?,java,hibernate,jpa,redis,memcached,Java,Hibernate,Jpa,Redis,Memcached,我可以选择使用应用程序缓存 即手动将对象缓存到分布式memcached/redis群集 或者让hibernate二级缓存执行缓存工作(对于那些应用程序对象) 用哪一个更好 这实际上取决于您的应用程序查询模型和流量需求 使用Redis/Hazelcast可能会产生最好的性能,因为不再有任何到DB的往返,但最终在DB中有一个规范化的数据,在缓存中有一个非规范化的副本,这将给缓存更新策略带来压力。因此,只要持久化数据发生更改,就可以实现缓存更新,从而获得最佳性能 使用二级缓存更容易设置,但它只按id存
用哪一个更好 这实际上取决于您的应用程序查询模型和流量需求
如果您只需要缓存实体(通常不会频繁更改),并且主要通过Hibernate实体加载来访问这些实体,那么二级缓存可以帮助您。这实际上取决于您的应用程序查询模型和流量需求
如果您只需要缓存实体(通常不会频繁更改),并且主要通过Hibernate实体加载来访问这些实体,那么二级缓存可以帮助您。在我看来,这两种方法有明显的优点和缺点,因此,在不基于意见的情况下,可以给出充分的答案。我不认为这个问题应该结束。我同意@AlexandarPetrov的观点,但这个问题可能需要更新一些细节。我认为这两种方法都有明显的优点和缺点,因此,在不基于意见的情况下,可以给出充分的答案。我不认为这个问题应该结束。我同意@AlexandarPetrov,但这个问题可能需要更新一些细节