2013-7-31hibernate二级缓存
难得闲
Fckeditor
Fckconfig.js大部分配置都在这里面,
增加字体:
程序代码: FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; 将其修改为: FCKConfig.FontNames = '宋体;黑体;幼圆;楷体_GB2312;仿宋_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; 这样还是不行,虽然发现编辑器的字体选项多了已添加的中文字体,但应用到文本上却发现没有任何作用!
接着下一步 : 打开editor/css/fck_editorarea.css 文件 将程序代码: font-family: Arial, Verdana, sans-serif; 修改为: font-family: 宋体, 黑体, 幼圆, 楷体, 仿宋, Arial, Verdana, sans-serif; 注意:一定要“另保存”为 UTF-8编码格式的文档,否则会出现乱码!
字体大小:FCKConfig.FontSizes = '12px;14px;16px;18px;24px;26px;28px;32px;' ;
想要什么网上搜就行。
今天研究了一天fck的源代码,没什么收获,基本看不懂,只是猜,
Hibernate缓存
------------------------------------------1级缓存
1级缓存依赖于session,当session关闭时缓存消失,建立session时打开一个session向1级缓存中保存数据:
Session中的save、update、saveOrupdate、load、list、iterate、lock这些方法都会将对象放入一级缓存,在一级缓存中不能控制缓存的数量,所以在大批量操作数据时可能造成内存溢出,使用session中的evite(object)、clear()方法可以清除缓存的内容
从一级缓存中取出数据:session中的个体()、load()方法可以从一级缓存中取数据
清除一级缓存的数据:
Session中的evict(Objct obj);//从缓存中清除指定的对象
Session中的clear();//清除缓存中的所有对象
--------------------------------二级缓存(属于sessionFactory级别的缓存)
二级缓存的实现是可插拔可配置的,在hibernate中默认是不使用二级缓存的hibernate内置了对EhCache、OsCache、SwarmCache的支持,并且可以通过实现CacheProvider和Cache接口来加入Hibernate不只是的缓存实现。
Hibernate 中二级缓存的实现:
配置hibernate.cfg.xml
- 打开二级缓存:<property name=”hibernatecache.use_second_level_cache”>ture</property>(hibernate中默认是打开二级缓存的)
- 配置你将要使用的二级缓存:<property name=”hibernate.cache.provider_class”>org.hibernatecache.OSCacheProvider</property>
配置二级缓存的详细信息:
1、 将你使用的二级缓存的配置文件copy到classpath目录下,然后更改你需要更改的配置
Cache.capacity=1000//缓存容量,指示缓存中可以存放多少个对象
配置将要缓存的类:
方式1、在hibernate.cfg.xml中配置
<class-cache class="org.hibernate.entity.User" usage="缓存策略"/>
方式2、在hbm.xml映射文件中配置缓存
<cache usage="缓存策略"/>
缓存策略包含:
1、readonly(只读缓存):这种缓存策略只允许对缓存中的数据进行读取操作,不允许修改缓存中的数据,
这时性 能最好的缓存策略。
2、read-write(读-写缓存):这种缓存策略可以保证缓存中数据的状态与数据库中的状态的一致性
,每对数据进行一次更新,都会与数据库进行一次同步。这种缓存策略是使用比较多的缓存并发策略
3、nonstrict-read-write(非严格的读/写缓存):这种策略不能保证缓存中数据与数据库中数据一致,
主要应用于对数据要求不严格的情况。
4、transactional(事务缓存):这种缓存策略使用比较少,目前只有JBoss TreeCache支持。
可以将缓存的操作添加 到事务中,如果事务失败进行回滚,则缓存中的数据和数据库中的数据一同回滚到事务开始之前的状态。
打开Hibernate的统计信息:(通常在测试的使用使用)
在hibernate.cfg.xml中配置:<property name="generate_statistics">true</property>(默认为禁用)
使用统计信息:Statistics st = sessionFactory.getStatistics();//可以获得hibernate的所有统计信息
获得二级缓存的统计信息:st.getSecondLevelCacheHitCount();//命中次数
st.getSecondLevelCacheMissCount();//失效次数
st.getSecondLevelCachePutCount();//放入次数
向二级缓存存放数据:
session:save(不支持native主键生成策略)、update()、saveOrUpdate()、list()、iterator()、get()、load()、Query、Criteria都会填充二级缓存
从二级缓存中取数据:
session中的iterator()、get()、load()会从二级缓存中取数据,由于Query、Criteria命中率较低,所以hibernate默认关闭,可以通过修改cache.use_query_cache为true打开对查 询的缓存,并调用query.setCacheable(true);配置为可缓存的。
清除二级缓存:sessionFactory.evict();//清
饭还没来,饿死了。
2013-7-31hibernate二级缓存的更多相关文章
- 探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- Hibernate+EhCache配置二级缓存
步骤: 第一步:加入ehcache.jar 第二步: 在src目录下新建一个文件,名为:ehcache.xml 第三步:在hibernate配置文件的<session-factory>下配 ...
- MyBatis 延迟加载,一级缓存,二级缓存设置
什么是延迟加载 resultMap中的association和collection标签具有延迟加载的功能. 延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息.使用关联信息时再去加载关联信息 ...
- EF 二级缓存 EFSecondLevelCache
EFSecondLevelCache ======= Entity Framework .x Second Level Caching Library. 二级缓存是一个查询缓存.EF命令的结果将存储在 ...
- MVC实用架构设计(三)——EF-Code First(5):二级缓存
前言 今天我们来谈谈EF的缓存问题. 缓存对于一个系统来说至关重要,但是是EF到版本6了仍然没有见到有支持查询结果缓存机制的迹象.EF4开始会把查询语句编译成存储过程缓存在Sql Server中,据说 ...
- hibernate笔记--缓存机制之 二级缓存(sessionFactory)和查询缓存
二级缓存(sessionFactory): Hibernate的二级缓存由SessionFactory对象管理,是应用级别的缓存.它可以缓存整个应用的持久化对象,所以又称为“SessionFactor ...
- Hibernate ——二级缓存
一.Hibernate 二级缓存 1.Hibernate 二级缓存是 SessionFactory 级别的缓存. 2.二级缓存分为两类: (1)Hibernate内置二级缓存 (2)外置缓存,可配置的 ...
- hibernate缓存(一级缓存、二级缓存)
一.一级缓存(Session缓存) 意义:提高hibernate查询效率. 缺点:可能会因并发,产生数据不一致. 基于session的缓存,利用hibernate执行查询 ...
- HIbernate二级缓存
一.定义: 二级缓存是进程或集群范围内的缓存,可以被所有的Session共享,是可配置的插件 二.二级缓存原理图 解析:每次从二级缓存中取出的对象,都是一个新的对象. 三.配置步骤如下: 同理:以员工 ...
随机推荐
- java之静态代理与动态代理
先看看静态代理是如何操作的 定义接口: public interface Person { public void sayHello(String content, int age); public ...
- pyspark在windows中的安装
0.安装python,我用的是python2.7.13 1.安装jdk 一定要安装1.7以上的版本,安装低版本会报下面的错误 java.lang.NoclassDefFoundError 安装后不用手 ...
- 内存测试——内存泄露工具 LeakCanary
项目地址 https://github.com/square/leakcanary 接入方法 1. 配置依赖 dependencies { debugCompile 'com.squareup.lea ...
- 只要实现了annotation这个接口就是注解 同理:只要实现了某个接口就是该类型的实现类
只要实现了annotation这个接口就是注解 同理:只要实现了某个接口就是该类型的实现类
- BZOJ5314 [Jsoi2018]潜入行动 【背包类树形dp】
题目链接 BZOJ5314 题解 设\(f[i][j][0|1][0|1]\)表示\(i\)为根的子树,用了\(j\)个监测器,\(i\)节点是否被控制,\(i\)节点是否放置的方案数 然后转移即可 ...
- 【原创】【2】rich editor系列教程。了解document.execommand操作,保存丢失的range,实时反馈样式给工具栏
[原创][2]rich editor系列教程.了解document.execommand操作,保存丢失的range,实时反馈样式给工具栏 索引目录:http://www.cnblogs.com/hen ...
- 【原创】【目录】实现rich editor(富文本编辑器)教程,深入理解selectiona/range操作与浏览器差异
日常工作中,接触富文本编辑的次数还是很多,特发此教程,希望可以改变富文本编辑的技术门槛较高的现状,解决这部分的坑. 前提准备,兼容获取range,统一回车行为,前期准备工作 了解document.ex ...
- 循环神经网络 RNN
随着科学技术的发展以及硬件计算能力的大幅提升,人工智能已经从几十年的幕后工作一下子跃入人们眼帘.人工智能的背后源自于大数据.高性能的硬件与优秀的算法的支持.2016年,深度学习已成为Google搜索的 ...
- PID控制算法的C语言实现六 抗积分饱和的PID控制算法C语言实现
所谓的积分饱和现象是指如果系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置,若控制器输出U(k)继续增大,执行器开度不可能再增大,此时计算机输出控制 ...
- ftp server安装与配置
http://note.youdao.com/noteshare?id=905513cfcdba7d6a8d2fbdd0874a6259