⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 performance.html

📁 是一个中文的Hibernate库文档
💻 HTML
📖 第 1 页 / 共 5 页
字号:
				&#37027;&#20040;&#23601;&#21487;&#20197;&#23545;&#20854;&#36827;&#34892;<tt class="literal">&#21482;&#35835;</tt> &#32531;&#23384;&#12290;&#36825;&#26159;&#26368;&#31616;&#21333;&#65292;&#20063;&#26159;&#23454;&#29992;&#24615;&#26368;&#22909;&#30340;&#26041;&#27861;&#12290;&#29978;&#33267;&#22312;&#38598;&#32676;&#20013;&#65292;&#23427;&#20063;&#33021;&#23436;&#32654;&#22320;&#36816;&#20316;&#12290;             </p><pre class="programlisting">&lt;class name="eg.Immutable" mutable="false"&gt;    &lt;cache usage="read-only"/&gt;    ....&lt;/class&gt;</pre></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="performance-cache-readwrite"></a>20.2.3.&nbsp;				&#31574;&#30053;:&#35835;/&#20889;&#32531;&#23384;&#65288;Strategy: read/write&#65289;			</h3></div></div><div></div></div><p>								&#22914;&#26524;&#24212;&#29992;&#31243;&#24207;&#38656;&#35201;&#26356;&#26032;&#25968;&#25454;&#65292;&#37027;&#20040;&#20351;&#29992;<tt class="literal">&#35835;/&#20889;&#32531;&#23384;</tt> &#27604;&#36739;&#21512;&#36866;&#12290;				&#22914;&#26524;&#24212;&#29992;&#31243;&#24207;&#35201;&#27714;&#8220;&#24207;&#21015;&#21270;&#20107;&#21153;&#8221;&#30340;&#38548;&#31163;&#32423;&#21035;&#65288;serializable transaction isolation level&#65289;&#65292;&#37027;&#20040;&#23601;&#20915;&#19981;&#33021;&#20351;&#29992;&#36825;&#31181;&#32531;&#23384;&#31574;&#30053;&#12290;				&#22914;&#26524;&#22312;JTA&#29615;&#22659;&#20013;&#20351;&#29992;&#32531;&#23384;&#65292;&#20320;&#24517;&#39035;&#25351;&#23450;<tt class="literal">hibernate.transaction.manager_lookup_class</tt>&#23646;&#24615;&#30340;&#20540;&#65292;				&#36890;&#36807;&#23427;&#65292;Hibernate&#25165;&#33021;&#30693;&#36947;&#35813;&#24212;&#29992;&#31243;&#24207;&#20013;JTA&#30340;<tt class="literal">TransactionManager</tt>&#30340;&#20855;&#20307;&#31574;&#30053;&#12290;								&#22312;&#20854;&#23427;&#29615;&#22659;&#20013;&#65292;&#20320;&#24517;&#39035;&#20445;&#35777;&#22312;<tt class="literal">Session.close()</tt>&#12289;&#25110;<tt class="literal">Session.disconnect()</tt>&#35843;&#29992;&#21069;&#65292;				&#25972;&#20010;&#20107;&#21153;&#24050;&#32463;&#32467;&#26463;&#12290; &#22914;&#26524;&#20320;&#24819;&#22312;&#38598;&#32676;&#29615;&#22659;&#20013;&#20351;&#29992;&#27492;&#31574;&#30053;&#65292;&#20320;&#24517;&#39035;&#20445;&#35777;&#24213;&#23618;&#30340;&#32531;&#23384;&#23454;&#29616;&#25903;&#25345;&#38145;&#23450;(locking)&#12290;Hibernate&#20869;&#32622;&#30340;&#32531;&#23384;&#31574;&#30053;&#24182;&#19981;&#25903;&#25345;&#38145;&#23450;&#21151;&#33021;&#12290;             </p><pre class="programlisting">&lt;class name="eg.Cat" .... &gt;    &lt;cache usage="read-write"/&gt;    ....    &lt;set name="kittens" ... &gt;        &lt;cache usage="read-write"/&gt;        ....    &lt;/set&gt;&lt;/class&gt;</pre></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="performance-cache-nonstrict"></a>20.2.4.&nbsp;				&#31574;&#30053;:&#38750;&#20005;&#26684;&#35835;/&#20889;&#32531;&#23384;&#65288;Strategy: nonstrict read/write&#65289;							</h3></div></div><div></div></div><p>								&#22914;&#26524;&#24212;&#29992;&#31243;&#24207;&#21482;&#20598;&#23572;&#38656;&#35201;&#26356;&#26032;&#25968;&#25454;&#65288;&#20063;&#23601;&#26159;&#35828;&#65292;&#20004;&#20010;&#20107;&#21153;&#21516;&#26102;&#26356;&#26032;&#21516;&#19968;&#35760;&#24405;&#30340;&#24773;&#20917;&#24456;&#19981;&#24120;&#35265;&#65289;&#65292;&#20063;&#19981;&#38656;&#35201;&#21313;&#20998;&#20005;&#26684;&#30340;&#20107;&#21153;&#38548;&#31163;&#65292;				&#37027;&#20040;&#27604;&#36739;&#36866;&#21512;&#20351;&#29992;<tt class="literal">&#38750;&#20005;&#26684;&#35835;/&#20889;&#32531;&#23384;</tt>&#31574;&#30053;&#12290;&#22914;&#26524;&#22312;JTA&#29615;&#22659;&#20013;&#20351;&#29992;&#35813;&#31574;&#30053;&#65292;				&#20320;&#24517;&#39035;&#20026;&#20854;&#25351;&#23450;<tt class="literal">hibernate.transaction.manager_lookup_class</tt>&#23646;&#24615;&#30340;&#20540;&#65292;				&#22312;&#20854;&#23427;&#29615;&#22659;&#20013;&#65292;&#20320;&#24517;&#39035;&#20445;&#35777;&#22312;<tt class="literal">Session.close()</tt>&#12289;&#25110;<tt class="literal">Session.disconnect()</tt>&#35843;&#29992;&#21069;&#65292;				&#25972;&#20010;&#20107;&#21153;&#24050;&#32463;&#32467;&#26463;&#12290;				            </p></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="performance-cache-transactional"></a>20.2.5.&nbsp;								&#31574;&#30053;:&#20107;&#21153;&#32531;&#23384;&#65288;transactional&#65289;							</h3></div></div><div></div></div><p>				Hibernate&#30340;<tt class="literal">&#20107;&#21153;&#32531;&#23384;</tt>&#31574;&#30053;&#25552;&#20379;&#20102;&#20840;&#20107;&#21153;&#30340;&#32531;&#23384;&#25903;&#25345;&#65292;				&#20363;&#22914;&#23545;JBoss TreeCache&#30340;&#25903;&#25345;&#12290;&#36825;&#26679;&#30340;&#32531;&#23384;&#21482;&#33021;&#29992;&#20110;JTA&#29615;&#22659;&#20013;&#65292;&#20320;&#24517;&#39035;&#25351;&#23450;			    &#20026;&#20854;<tt class="literal">hibernate.transaction.manager_lookup_class</tt>&#23646;&#24615;&#12290; 				            </p></div><p>			&#27809;&#26377;&#19968;&#31181;&#32531;&#23384;&#25552;&#20379;&#21830;&#33021;&#22815;&#25903;&#25345;&#19978;&#21015;&#30340;&#25152;&#26377;&#32531;&#23384;&#24182;&#21457;&#31574;&#30053;&#12290;&#19979;&#34920;&#20013;&#21015;&#20986;&#20102;&#21508;&#31181;&#25552;&#20379;&#22120;&#12289;&#21450;&#20854;&#21508;&#33258;&#36866;&#29992;&#30340;&#24182;&#21457;&#31574;&#30053;&#12290; 			        </p><div class="table"><a name="d0e13479"></a><p class="title"><b>&#34920;&nbsp;20.2.&nbsp;			&#21508;&#31181;&#32531;&#23384;&#25552;&#20379;&#21830;&#23545;&#32531;&#23384;&#24182;&#21457;&#31574;&#30053;&#30340;&#25903;&#25345;&#24773;&#20917;&#65288;Cache Concurrency Strategy Support&#65289;			</b></p><table summary="&#xA;			&#21508;&#31181;&#32531;&#23384;&#25552;&#20379;&#21830;&#23545;&#32531;&#23384;&#24182;&#21457;&#31574;&#30053;&#30340;&#25903;&#25345;&#24773;&#20917;&#65288;Cache Concurrency Strategy Support&#65289;&#xA;			" border="1"><colgroup><col align="left"><col align="left"><col align="left"><col align="left"><col align="left"></colgroup><thead><tr><th align="left">Cache</th><th align="left">read-only</th><th align="left">nonstrict-read-write</th><th align="left">read-write</th><th align="left">transactional</th></tr></thead><tbody><tr><td align="left">Hashtable (not intended for production use)</td><td align="left">yes</td><td align="left">yes</td><td align="left">yes</td><td align="left">&nbsp;</td></tr><tr><td align="left">EHCache</td><td align="left">yes</td><td align="left">yes</td><td align="left">yes</td><td align="left">&nbsp;</td></tr><tr><td align="left">OSCache</td><td align="left">yes</td><td align="left">yes</td><td align="left">yes</td><td align="left">&nbsp;</td></tr><tr><td align="left">SwarmCache</td><td align="left">yes</td><td align="left">yes</td><td align="left">&nbsp;</td><td align="left">&nbsp;</td></tr><tr><td align="left">JBoss TreeCache</td><td align="left">yes</td><td align="left">&nbsp;</td><td align="left">&nbsp;</td><td align="left">yes</td></tr></tbody></table></div></div><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="performance-sessioncache"></a>20.3.&nbsp;			&#31649;&#29702;&#32531;&#23384;&#65288;Managing the caches&#65289;    	</h2></div></div><div></div></div><p>			&#26080;&#35770;&#20309;&#26102;&#65292;&#24403;&#20320;&#32473;<tt class="literal">save()</tt>&#12289;<tt class="literal">update()</tt>&#25110;            <tt class="literal">saveOrUpdate()</tt>&#26041;&#27861;&#20256;&#36882;&#19968;&#20010;&#23545;&#35937;&#26102;&#65292;&#25110;&#20351;&#29992;<tt class="literal">load()</tt>&#12289;			<tt class="literal">get()</tt>&#12289;<tt class="literal">list()</tt>&#12289;<tt class="literal">iterate()</tt>			&#25110;<tt class="literal">scroll()</tt>&#26041;&#27861;&#33719;&#24471;&#19968;&#20010;&#23545;&#35937;&#26102;,			&#35813;&#23545;&#35937;&#37117;&#23558;&#34987;&#21152;&#20837;&#21040;<tt class="literal">Session</tt>&#30340;&#20869;&#37096;&#32531;&#23384;&#20013;&#12290;        </p><p>			&#24403;&#38543;&#21518;flush()&#26041;&#27861;&#34987;&#35843;&#29992;&#26102;&#65292;&#23545;&#35937;&#30340;&#29366;&#24577;&#20250;&#21644;&#25968;&#25454;&#24211;&#21462;&#24471;&#21516;&#27493;&#12290;			&#22914;&#26524;&#20320;&#19981;&#24076;&#26395;&#27492;&#21516;&#27493;&#25805;&#20316;&#21457;&#29983;&#65292;&#25110;&#32773;&#20320;&#27491;&#22788;&#29702;&#22823;&#37327;&#23545;&#35937;&#12289;&#38656;&#35201;&#23545;&#26377;&#25928;&#31649;&#29702;&#20869;&#23384;&#26102;&#65292;&#20320;&#21487;&#20197;&#35843;&#29992;<tt class="literal">evict()</tt>			&#26041;&#27861;&#65292;&#20174;&#19968;&#32423;&#32531;&#23384;&#20013;&#21435;&#25481;&#36825;&#20123;&#23545;&#35937;&#21450;&#20854;&#38598;&#21512;&#12290;         </p><pre class="programlisting">ScrollableResult cats = sess.createQuery("from Cat as cat").scroll(); //a huge result setwhile ( cats.next() ) {    Cat cat = (Cat) cats.get(0);    doSomethingWithACat(cat);    sess.evict(cat);}</pre><p>			Session&#36824;&#25552;&#20379;&#20102;&#19968;&#20010;<tt class="literal">contains()</tt>&#26041;&#27861;&#65292;&#29992;&#26469;&#21028;&#26029;&#26576;&#20010;&#23454;&#20363;&#26159;&#21542;&#22788;&#20110;&#24403;&#21069;session&#30340;&#32531;&#23384;&#20013;&#12290;         </p><p>			&#22914;&#33509;&#35201;&#25226;&#25152;&#26377;&#30340;&#23545;&#35937;&#20174;session&#32531;&#23384;&#20013;&#24443;&#24213;&#28165;&#38500;&#65292;&#21017;&#38656;&#35201;&#35843;&#29992;<tt class="literal">Session.clear()</tt>&#12290;         </p><p>			&#23545;&#20110;&#20108;&#32423;&#32531;&#23384;&#26469;&#35828;&#65292;&#22312;<tt class="literal">SessionFactory</tt>&#20013;&#23450;&#20041;&#20102;&#35768;&#22810;&#26041;&#27861;&#65292;			&#28165;&#38500;&#32531;&#23384;&#20013;&#23454;&#20363;&#12289;&#25972;&#20010;&#31867;&#12289;&#38598;&#21512;&#23454;&#20363;&#25110;&#32773;&#25972;&#20010;&#38598;&#21512;&#12290; 			        </p><pre class="programlisting">sessionFactory.evict(Cat.class, catId); //evict a particular CatsessionFactory.evict(Cat.class);  //evict all CatssessionFactory.evictCollection("Cat.kittens", catId); //evict a particular collection of kittenssessionFactory.evictCollection("Cat.kittens"); //evict all kitten collections</pre><p>			<tt class="literal">CacheMode</tt>&#21442;&#25968;&#29992;&#20110;&#25511;&#21046;&#20855;&#20307;&#30340;Session&#22914;&#20309;&#19982;&#20108;&#32423;&#32531;&#23384;&#36827;&#34892;&#20132;&#20114;&#12290;        </p><div class="itemizedlist"><ul type="disc"><li><p>			<tt class="literal">CacheMode.NORMAL</tt> - &#20174;&#20108;&#32423;&#32531;&#23384;&#20013;&#35835;&#12289;&#20889;&#25968;&#25454;&#12290;        </p></li><li><p>			<tt class="literal">CacheMode.GET</tt> - &#20174;&#20108;&#32423;&#32531;&#23384;&#20013;&#35835;&#21462;&#25968;&#25454;&#65292;&#20165;&#22312;&#25968;&#25454;&#26356;&#26032;&#26102;&#23545;&#20108;&#32423;&#32531;&#23384;&#20889;&#25968;&#25454;&#12290;        </p></li><li><p>			<tt class="literal">CacheMode.PUT</tt> - &#20165;&#21521;&#20108;&#32423;&#32531;&#23384;&#20889;&#25968;&#25454;&#65292;&#20294;&#19981;&#20174;&#20108;&#32423;&#32531;&#23384;&#20013;&#35835;&#25968;&#25454;&#12290;        </p></li><li><p>			<tt class="literal">CacheMode.REFRESH</tt> - &#20165;&#21521;&#20108;&#32423;&#32531;&#23384;&#20889;&#25968;&#25454;&#65292;&#20294;&#19981;&#20174;&#20108;&#32423;&#32531;&#23384;&#20013;&#35835;&#25968;&#25454;&#12290;&#36890;&#36807;			<tt class="literal">hibernate.cache.use_minimal_puts</tt>&#30340;&#35774;&#32622;&#65292;&#24378;&#21046;&#20108;&#32423;&#32531;&#23384;&#20174;&#25968;&#25454;&#24211;&#20013;&#35835;&#21462;&#25968;&#25454;&#65292;&#21047;&#26032;&#32531;&#23384;&#20869;&#23481;&#12290;        </p></li></ul></div><p>			&#22914;&#33509;&#38656;&#35201;&#26597;&#3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -