Hibernate cache内部结构

来源:互联网 发布:java和c 编辑:程序博客网 时间:2024/06/06 01:16

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");
}
   
});


0 0
原创粉丝点击