集群或者分布式,hibernate,如果处理一级缓存的同步或者脏数据问题。 tomcat1上 User user=userdao.getbyid(1);user.setage(20);tomcat2上 User user=userdao.getbyid(1);user.setage(30);显然,user对象已经出现类似于脏数据的问题。怎么处理,疑惑了好几年了。现在真的想知道怎么解决。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 user对象的属性不是脏数据,两个操作虽然来自不同的tomcat,但都是有效的,肯定是先来后到的覆盖。实际上hibernate是自带乐观锁的,只要数据库是单点的或者是支持分布式的数据库,那这种脏数据只可能是应用的问题导致。简单的说就是应用不支持分布式,这种情况下做类似负载或者容灾的集群,就会引起各种问题。回到题目上,只说数据库操作,那么可以考虑增加JTA事务保证多应用的事务安全。 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯 就算事务能解决我说的这个问题,但是mysql isam支持Hibernate事务吗?不支持吧。所以,还是解决不了。 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯恩,可能你说的,就是我想要的,但是你能不能用代码示例详细说说,怎么不使用“hibernate上的缓存机制”。 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。 就算事务能解决我说的这个问题,但是mysql isam支持Hibernate事务吗?不支持吧。所以,还是解决不了。我从头到尾都没说hibernate事务啊...... 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你没有回错吧,jta事务和缓存有什么关系..... 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低 memcached我会用。但是那是二级缓存呢!现在说的是一级缓存的事情。 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低memcached我会用。但是那是二级缓存呢!现在说的是一级缓存的事情。 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低memcached我会用。但是那是二级缓存呢!现在说的是一级缓存的事情。哎...等你理解了再说会用吧,一级缓存也可以各种形式来玩,就象session机制一样,你把数据存到session里面也可以,问题是你如何自己创建一个新的session机制来适应你的分布式,而不是用原生的,那完全是不适合在大数据的应用上生存的 一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低memcached我会用。但是那是二级缓存呢!现在说的是一级缓存的事情。哎...等你理解了再说会用吧,一级缓存也可以各种形式来玩,就象session机制一样,你把数据存到session里面也可以,问题是你如何自己创建一个新的session机制来适应你的分布式,而不是用原生的,那完全是不适合在大数据的应用上生存的你的意思就是不用hibernate的一级缓存是吗? 也就是get po之后,马上clear或者evict,变成vo.然后自己在redis或者memcache上维护这个vo是吗。 any one? 使用版本号维护,在数据库增加一个版本号字段,由hibernate自动比较 一道面试题,没想到好的方法解决。 菜鸟问题:关于字符串 System.arraycopy的用法(在线等待) //请问JAVA的哪些部分涉及到了 客户端和服务器端分别开发的?谢谢!! 问题解决了就结帖,不难 学习交流。进来留下QQ号 员工部门 我要在我的程序中加一个打开/保存框? 关于错误处理的方法,请大家讨论,高分给! 有谁知道Borland AppServer 4.5的key 回文数猜想 英雄会 XX采药 挑战失败,由于程序运行总时间大于3s导致超时
实际上hibernate是自带乐观锁的,只要数据库是单点的或者是支持分布式的数据库,那这种脏数据只可能是应用的问题导致。
简单的说就是应用不支持分布式,这种情况下做类似负载或者容灾的集群,就会引起各种问题。
回到题目上,只说数据库操作,那么可以考虑增加JTA事务保证多应用的事务安全。
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯
就算事务能解决我说的这个问题,但是mysql isam支持Hibernate事务吗?不支持吧。所以,还是解决不了。
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯恩,可能你说的,就是我想要的,但是你能不能用代码示例详细说说,怎么不使用“hibernate上的缓存机制”。
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。
就算事务能解决我说的这个问题,但是mysql isam支持Hibernate事务吗?不支持吧。所以,还是解决不了。
我从头到尾都没说hibernate事务啊......
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯
你没有回错吧,jta事务和缓存有什么关系.....
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。
可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。
可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低
memcached我会用。但是那是二级缓存呢!现在说的是一级缓存的事情。
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。
可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低
memcached我会用。但是那是二级缓存呢!现在说的是一级缓存的事情。
哎...等你理解了再说会用吧,一级缓存也可以各种形式来玩,就象session机制一样,你把数据存到session里面也可以,问题是你如何自己创建一个新的session机制来适应你的分布式,而不是用原生的,那完全是不适合在大数据的应用上生存的
一般来说,我是不建议用hibernate上的缓存机制咯,一般都是用独立第三方缓存,这样容易控制点,你这样加载的缓存除非是对hibernate很熟悉,才能分布式无压力咯你说的不使用hibernate上的缓存机制,能具体说说怎么个不使用方法吗。
可以到我的博客参考下使用memcached,或者下载我之前的项目实例,如何独立使用ehcache,因为hibernate也是整合使用ehcache而已,独立操控耦合度比较低
memcached我会用。但是那是二级缓存呢!现在说的是一级缓存的事情。
哎...等你理解了再说会用吧,一级缓存也可以各种形式来玩,就象session机制一样,你把数据存到session里面也可以,问题是你如何自己创建一个新的session机制来适应你的分布式,而不是用原生的,那完全是不适合在大数据的应用上生存的你的意思就是不用hibernate的一级缓存是吗? 也就是get po之后,马上clear或者evict,变成vo.然后自己在redis或者memcache上维护这个vo是吗。