EHCacheなどキャッシュ_java詳細Spring MVCの統合 - JAVA

出典:こんにちは学習ネットワーク敏感と熱心なフォーラムはwww.piaodoo.comお互いから学ぶことを歓迎します

さらに騒ぎがなければ、直接コードに:

ehcache.xmlファイル

<XMLバージョン= "1.0"エンコード=? "UTF-8"?> 
<EhcacheのdynamicConfig = "falseに"監視= "OFF" = UpdateCheck "falseに" 
     のxmlns:XSI =「http://www.w3.org/2001 / XMLスキーマ・インスタンス"のxsi:のnoNamespaceSchemaLocation =" ehcache.xsd "> 

  < -定義されたキャッシュポリシー!
    永遠=" false "を//要素が永遠であり、それは無期限に場合(セットでなければなりません)
    maxEntriesLocalHeap =" 1000「//ヒープメモリ・キャッシュ・オブジェクトの最大数、0制限なし(集合でなければならない)
    overflowToDisk =キャッシュがディスクにオーバーフローが(集合でなければならない)を許可するかどうか、maxElementsInMemory値に達した「偽」// 
    diskPersistent =「偽」//再VMのディスクキャッシュスタートアップを維持するかどうか(デフォルトはfalseです)
    timeToIdleSecondsなど=アクセス間隔(秒)を期限切れに先頭の「0」//要素。永遠のがfalseの場合、このプロパティは、0は、デフォルトは0アイドル有効であることはできませんされ 
    = timeToLiveSeconds "600"キャッシュ内//要素、時間(秒)0手段は永遠に期限切れがあります
    memoryStoreEvictionPolicy = "LFU「いつ//デフォルトの追放を強制する方法を、maxElementsInMemoryに達したときに、」最近使用(LRU)「戦略だけでなく、他の先入れ先出しFIFO LRUの、最も使用LFU、あまり使用
  - >

  <! - 
    。1)maxElementsInMemory(正の整数):キャッシュメモリ内のオブジェクトの最大数
    2)maxElementsOnDisk(正の整数):ディスクキャッシュ上のオブジェクトの最大数は、デフォルト値がない限界まで、0です。
    3)永遠:キャッシュに格納されているオブジェクトを永続的にプロパティを設定し、デフォルトはfalseです。それは本当timeToIdleSecondsなど、timeToLiveSeconds障害であるとき。
    4)timeToIdleSecondsなど(単位:秒):オブジェクトのアイドル時間は、オブジェクトがアクセスされていないに失敗する期間を指します。唯一の永遠の偽は有効です。デフォルト値は、アクセス権を持っていることを意味しており、0です。
    5)timeToLiveSeconds(単位:秒):オブジェクトの生存時間は、オブジェクトは、必要に失敗する作成からの時間を指します。唯一の永遠の偽は有効です。デフォルト値は、アクセス権を持っていることを意味しており、0です。
    6)overflowToDisk:あなたはディスクにキャッシュする場合は、データメモリは、メモリの制限を超えた場合。
    7)diskPersistent:ディスク上に持続するかどうか。JVMは、データが有効になった後に再起動を指します。デフォルトはfalseです。
  8)diskSpoolBufferSizeMB(単位:MB):ディスクサイズは30メガバイトのデフォルト値を使用しDiskStore。そのDiskStoreを使用して各キャッシュ。
    9)memoryStoreEvictionPolicy:データメモリは、メモリの制限、ディスクキャッシュのポリシーを超えている場合。LRU、オプションのFIFO、LFUデフォルト。
    FIFO(先入れ先出しで):FIFO 
    LFU(レスが頻繁に使用):少なくとも使用し、キャッシュヒット属性要素があり、値はキャッシュが最小ヒットは明らかであろう。
    LRU(最低使用)、デフォルトのポリシー:既存のキャッシュ要素からキャッシュ容量がいっぱいになったとき、最も最近使用されたキャッシュ要素は、タイムスタンプを持っていますが、新しいキャッシュ要素のためのスペースを作る必要性、そして、タイムスタンプ現在の時刻は、キャッシュをクリアします最も遠い要素です。
  10)キャッシュメモリヒープがmaxEntriesLocalHeapオブジェクトの最大数   
  - > 
    <diskStoreパス= "java.io.tmpdirの"> </ diskStore> 
  <defaultCache 
    "偽の"永遠= 
    maxEntriesLocalHeap = "0" 
    timeToIdleSecondsなど= "120" 
    timeToLiveSeconds =「120 " 
    maxElementsInMemory =" 10000 " 
    overflowToDisk =" trueに" 
    diskPersistent =" trueに"

    maxEntriesLocalHeap = "10000" 
  />   
  <キャッシュ
    名= "studentCache" 
    maxEntriesLocalHeap = "10000" 
  /> 

</ ehcacheを>

JARパッケージを増加させる必要性

こんにちは学習ネットワーク

豆に以下を追加する必要がspringmvc.xml

xmlns:キャッシュ= "http://www.springframework.org/schema/cache" 
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache。 XSD

増加豆

< -注釈機能(メインSpring構成ファイルで構成して)キャッシュ有効にする- !> 
<キャッシュ:キャッシュアノテーション・ドリブン・マネージャー=「のCacheManager」/>   
< -春はEhcacheのの認識に基づいて提供!キャッシュマネージャ- >   
<豆ID = "cacheManagerFactory"クラス= "org.springframework.cache.ehcache.EhCacheManagerFactoryBean">   
  <プロパティ名= "configLocation"値= "CLASSPATHます。config / ehcache.xml" />   
</豆>   
<ビーンID = "のCacheManager"クラス= "org.springframework.cache.ehcache.EhCacheCacheManager">   
  <プロパティ名= "のCacheManager" REF = "cacheManagerFactory" />   
</豆>

OperationクラスのEHCacheUtils

輸入net.sf.ehcache.Cache; 
輸入net.sf.ehcache.CacheManager; 
輸入net.sf.ehcache.Element; 

/ ** 
 *操作缓存类
 * 
 * @author jiangadam 
 * / 

パブリッククラスEhcacheUtils { 

  プライベート静的最終文字列のパス= "/config/ehcache.xml"。// EHCacheなど的配置文件地址

  民間のCacheManagerマネージャー。

  プライベート静的EhcacheUtilsにehcache。

  プライベートEhcacheUtils(文字列のパス){ 
    マネージャ= CacheManager.create(のgetClass()のgetResource(パス)。)。
  } 

  パブリック静的EhcacheUtilsのgetInstance(){ 
    IF(EHCacheなど== NULL){ 
      EHCacheなど=新しいEhcacheUtils(パス)。
    } 
    EHCacheなどを返します。
  } 

  / **
   オブジェクトキャッシュ* 
   * 
   * @paramたcachename 
   *名前キャッシュ
   * @paramキー
   *キャッシュKEY 
   * @param値
   *値バッファ
   * / 
  パブリック無効PUT(キャッシュ名の文字列、文字列のキー、オブジェクト値){ 
    キャッシュ=キャッシュマネージャ。 getCache(キャッシュ名); 
    要素要素の新しい新しい=要素(キー、値); 
    cache.put(エレメント); 
  } 

  / ** 
   *キャッシュされたオブジェクトがNULLを返しませんでした取得します
   * 
   * @paramたcachename 
   * @paramキー
   * @return 
   * / 
  パブリックオブジェクトGET(たcachename文字、文字列キー){ 
    キャッシュキャッシュ= manager.getCache(たcachename); 
    エレメントエレメント= cache.get(KEY)。
    復帰要素== nullの?ヌル:element.getObjectValue(); 
  } 

  公共キャッシュGET(文字列cacheNameを指定){ 
    manager.getCache(cacheNameを指定)を返します。
  } 

  公共ボイド削除(文字列キャッシュ名文字列キー){ 
    キャッシュキャッシュ= manager.getCache(cacheNameを指定)。
    cache.remove(キー); 
  } 

}

PUT書き込みキャッシュ

こんにちは学習ネットワーク

GET GETキャッシュされたデータ

こんにちは学習ネットワーク

この記事のためにすべてのことだ、私は学ぶために役立つことがしたい、私はあなたが敏感で、熱心なフォーラム/こんにちは学習ネットワークをサポートすることを願っています。

元のアドレスは次のとおりです。http://www.piaodoo.com/thread-13248-1-2.html ストッキングを制御 www.txdah.com 131外www.buzc.org楽しく学習がよりよく学習することができます!

おすすめ

転載: www.cnblogs.com/txdah/p/12093846.html