ibatis中使用緩存

簡單在ibatis中使用cache

  首先設置SqlMapConfig.xml中<settings/>節點的屬性cacheModelsEnabled="true"
  
  而後在具體sqlmap文件中書寫<cacheModel>
    <cacheModel id="product-cache" type="LRU"> 
      <flushInterval hours="24"/> 
      <flushOnExecute statement="insertProduct"/>
      <flushOnExecute statement="updateProduct"/> 
      <flushOnExecute statement="deleteProduct"/> 
      <property name="size" value="1000" /> 
    </cacheModel>
   
  最後給<select/>節點應用cache
    <select id="getAllProducts" cacheModel="product-cache">
      select * from PRODUCT
    </statement> 
    
複雜點的用法

  <cacheModel/>節點
  
    type="LRU"
      type屬性能夠指定cache的類型,ibatis支持3種緩存:
        MEMORY     沒有統一的對象重用模式或內存不足的應用。
        LRU        常用的對象,這是性能最好的選擇。
        FIFO       在短期內持續引用,然後極可能再也不使用。
      也能夠使用外部cache如:
        type="OSCACHE"
     
    readOnly="true"
      默認true時緩存效果最好,能夠減小更新。
      
    serialize="false"
      默認false,設true能夠提升總體應用的性能。
        serialize只能應用於實現了Serializable接口的對象,並且和lazyLoadingEnabled="true"屬性衝突。
        
    flushInterval
      自動刷新間隔時間。

    flushOnExecute
      在特定id的操做後,刷新cache,可選操做。

  手動刷新緩存
    [sqlmap].flushDataCache("product-cache")
      刷新cache當id="product-cache"
    [sqlmap].flushDataCache()
      刷新sqlmap內的全部cache
sql

原文:http://blog.csdn.net/zzcv_/article/details/1956056緩存

相關:ibatis sqlMapConfig settings 中屬性用法性能

相關文章
相關標籤/搜索