Hibernate cache内部结构

1.hibernate 一级缓存 

  session级别缓存,连接独享,内部结构就是,简单的键值对

 key:全限定名

 value:数据

2.hibernate二级缓存

sessionFactory级别缓存

二级缓存是应用cache,为了多个会话共享,快速定位数据,有region的概念

分区准则,是先按照实体类全限定名进行分区;

再然后按照  key value分布,key自然是id;

好处:

1.更快的查询,索引到数据;

2.可以快速清除指定的cache;

应用场景:

hibernate的三级缓存,查询缓存,先按照全限定名分区,然后以key value存储,

        key是 查询语句,value: ids;

        某个表数据的插入,更新,删除 都会影响查询结果,会清除对应实体的查询缓存;


利用memcache设计自己的缓存;

1.人为开始分区

      client.beginWithNamespace("nameSpace1");
   ........
      client.endWithNamespace();

2.清除分区

     client.invalidateNametspace("nameSpace1");

3. 同等1的写法

  client.withNamespace("nameSpace1", new MemcachedClientCallable<String>() {


public
String call(MemcachedClient client) throws MemcachedException,
InterruptedException, TimeoutException {

client.set("key", 1000, "
插入的值");
client.get("key");
}
   
});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值