<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    http://m.tkk7.com/AllanZ/archive/2013/02/22/cache-hazelcast.html

    做去皮兒網(http://www.qupier.com),內容管理是一個 系統,前端網站是一個系統,這兩個系統之間獨立部署,但是緩存要能夠互通。例如后臺修改了某個消息類型的說明,在前段網站上要能夠展現出來(使用了 hibernate的查詢緩存)。其他的一些場景也許要緩存,例如網站的shiro權限信息緩存,不過這個不需要和后端系統互通。但是既然開搞,也不好意 思再掛著ehcache。于是一并升級。

    前面一篇日志各種碰壁后,終于找到了理論上能夠實現功能的兩個產品:gemfire和hazelcast。于是,開始嘗試。

    首先是gemfire,有locator等概念。官方也看到了gemfire-hibernate模塊。但是很奇怪,各種配置各種報錯。

    然后前面一篇日志的評論里面網友@吳勇智提到了hazelcast。所以也來試試。結果出奇的順利。記錄一下過程。

    1.下載、運行hazelcast

    下載后隨便解壓,其實直接執行bin/server.bat即可。但是為了能夠眼見為實,于是首先把包中的mancenter.war找了個tomcat部署起來,然后修改bin/hazelcast.xml,把
    management-center打開。并指向剛部署的mancenter訪問路徑。然后再啟動hazelcast服務:bin/server.bat。

    2.hibernate二級緩存和查詢緩存

    我用spring結合hibernate使用,但是沒有用jpa。最后配置如下:

     1 <bean id="sessionFactory"
     2         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
     3         <property name="dataSource">
     4             <ref bean="dataSource" />
     5         </property>
     6         <property name="packagesToScan">
     7             <list>
     8                 <value>com.my.**.model</value>
     9             </list>
    10         </property>
    11         <property name="hibernateProperties">
    12             <props>
    13                 <prop key="hibernate.dialect">${hibernate.dialect}</prop>
    14                 <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
    15                 <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
    16                 <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
    17                 <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
    18                 <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
    19                 <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
    20                 <prop key="hibernate.validator.autoregister_listeners">${hibernate.validator.autoregister_listeners}</prop>
    21                 <prop key="hibernate.validator.apply_to_ddl">${hibernate.validator.apply_to_ddl}</prop>
    22                 <prop key="javax.persistence.validation.mode">${javax.persistence.validation.mode}</prop>
    23         
    24                 <prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}</prop>
    25                 <prop key="hibernate.cache.use_minimal_puts">${hibernate.cache.use_minimal_puts}</prop>
    26                 <prop key="hibernate.cache.hazelcast.use_native_client">${hibernate.cache.hazelcast.use_native_client}</prop>
    27                 <prop key="hibernate.cache.hazelcast.native_client_address">${hibernate.cache.hazelcast.native_client_address}</prop>
    28                 <prop key="hibernate.cache.hazelcast.native_client_group">${hibernate.cache.hazelcast.native_client_group}</prop>
    29                 <prop key="hibernate.cache.hazelcast.native_client_password">${hibernate.cache.hazelcast.native_client_password}</prop>
    30             </props>
    31         </property>
    32     </bean>

    然后是properties配置文件:

     1 hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
     2 hibernate.show_sql=true
     3 hibernate.jdbc.fetch_size=25
     4 hibernate.jdbc.batch_size=30
     5 hibernate.hbm2ddl.auto=update
     6 hibernate.cache.region.factory_class=com.hazelcast.hibernate.HazelcastCacheRegionFactory
     7 hibernate.cache.use_query_cache=true
     8 hibernate.cache.use_second_level_cache=true
     9 
    10 hibernate.validator.autoregister_listeners=false
    11 hibernate.validator.apply_to_ddl=false
    12 javax.persistence.validation.mode=none
    13 
    14 hibernate.cache.use_minimal_puts=true
    15 hibernate.cache.hazelcast.use_native_client=true
    16 hibernate.cache.hazelcast.native_client_address=localhost
    17 hibernate.cache.hazelcast.native_client_group=dev
    18 hibernate.cache.hazelcast.native_client_password=dev-pass

    然后就OK了。

    另外封裝了一個可以直接使用的cache。內部調用hazelcast。不同的cache region就簡單的使用了hazelcast的map。

    折騰了幾天,總算告一段落。
    posted on 2013-02-22 17:43 SIMONE 閱讀(2891) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日本亚洲欧美色视频在线播放| 9久久免费国产精品特黄| 亚洲高清无码综合性爱视频| 成人无码精品1区2区3区免费看| 亚洲最大福利视频网站| 免费看又爽又黄禁片视频1000 | 国产成人免费AV在线播放| 亚洲中文无码av永久| 亚洲国产婷婷香蕉久久久久久| 七色永久性tv网站免费看| 亚洲人成色99999在线观看| 亚洲色偷偷综合亚洲AVYP| 午夜福利不卡片在线播放免费| 免费无码午夜福利片| 亚洲黄色片免费看| 亚洲日本一区二区一本一道| 日本h在线精品免费观看| 一级毛片视频免费| 亚洲一区二区三区在线观看蜜桃| 亚洲欧洲精品成人久久曰影片| 成人浮力影院免费看| 一个人免费观看日本www视频 | 亚洲色精品三区二区一区| 亚洲综合另类小说色区| 成年女性特黄午夜视频免费看| 免费一级毛片在线播放视频| 国产亚洲精品成人久久网站| 亚洲精品在线免费观看视频| 亚洲毛片av日韩av无码| 免费无码又爽又高潮视频 | 99爱在线精品免费观看| 国产一级a毛一级a看免费人娇| 亚洲精品国产av成拍色拍| 亚洲精品高清国产麻豆专区| 奇米影视亚洲春色| 免费国产不卡午夜福在线| 成人av免费电影| 亚洲人成免费电影| 未满十八18禁止免费无码网站| 一级做a爱片特黄在线观看免费看| 伊人久久五月丁香综合中文亚洲|