memcached 貌似不支持事务缓存

hibernate有4个级别的缓存策略:
1.只读缓存 : 数据进入缓存后数据不再改变
2.读写缓存:不太明白,大概的意思是更新数据后缓存也要重写 可以防止脏读
3.非严格读写缓存 :跟2类似吧 只是不需要考虑并发 可以接受脏读
4.事务缓存:可以避免并发导致的脏读
我配置了一个<cache usage="transactional"/> 好像是根本没有缓存数据

关于集合属性的缓存 :
如有这样一个关系:两个域对象 Question 和 QuestionOption 为 1:N关系
要缓存question id为1的选项questionOptions 这个集合属性
正确的做法是
<set name="questionOptions" ....>
<cache usage="read-write" />
......
</set>

而不是在QuestionOption.hbm.xml中添加 <cache usage="read-write" />
为什么这样呢 ? 我的推测是第一种情况实际上是用的查询缓存 添加后相当于query.setCachable(true);
而第二种是配置的二级缓存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值