设为首页 收藏本站
查看: 842|回复: 0

[经验分享] Hibernate中使用memcached

[复制链接]

尚未签到

发表于 2015-8-31 11:46:58 | 显示全部楼层 |阅读模式
  Hibernate-memcached是CacheProvider接口的memcached实现
  http://code.google.com/p/hibernate-memcached/
  步骤:
  one:下载和安装运行memcache服务器程序 即:memcache.exe        下载到c:\      
  two:增加Hibernate-memcached的相关类库
  包括:memcached-2.1.jar  http://spymemcached.googlecode.com/files/memcached-2.1.jar
   spy-2.4.jar  http://bleu.west.spy.net/~dusin/repo/spy/jars/spy-2.4.jar
  commons-codec-1.3.jar http://repol.maven.org/maven2/commons-doces/commons-dodec/1.3/commons-dodec-1.3.jar
  three:修改hibernate.cfg.xml文件
  four:测试Hibernate-memcached
  Hibernate.java
  代码:
  <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  <!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
  <session-factory>
<property name="dialect">
  org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
  jdbc:mysql://localhost:3307/users
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
  com.mysql.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">mysqlusers</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">
  com.googlecode.hibernate.memcached.MemcachedCacheProvider
</property>
<property name="ibernate.cache.use_query_cache">true</property>
<mapping resource="com/b510/examplex/Category.hbm.xml" />
<mapping resource="com/b510/examplex/Product.hbm.xml" />
  </session-factory>
  </hibernate-configuration>
  HibernateTest.java
  代码:
  /**
*
*/
package com.b510.examplex;
  import java.util.List;
  import org.hibernate.Query;
import org.hibernate.Session;
  /**
*
* @author XHW
*
* @date 2011-7-17
*
*/
public class HibernateTest {
public static void main(String[] args) {
  new HibernateTest().test();
}
public void test(){
  Session session=HibernateSessionFactoryUtil.getSessionFactory().openSession();
  session.beginTransaction();
  Query query=session.createQuery("from Product");
  //查询
  query.setCacheable(true);
  List<Product> list=query.list();
  for(Product p:list){
   System.out.println(p.getName());
  }
  Query query2=session.createQuery("from Product");
  List<Product> list2=query.list();
  for(Product p2:list2){
   System.out.println(p2.getName());
  }
  session.getTransaction().commit();
}
}
  运行结果:
  log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
31 [main] INFO com.googlecode.hibernate.memcached.MemcachedCacheProvider - Starting MemcachedClient...
2011-07-17 22:15:34.015 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=localhost/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2011-07-17 22:15:34.031 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@17200b4
140 [main] INFO com.googlecode.hibernate.memcached.MemcachedCacheProvider - Building cache for region [com.b510.examplex.Category]
265 [main] INFO com.googlecode.hibernate.memcached.MemcachedCacheProvider - Building cache for region [com.b510.examplex.Category.products]
Hibernate:
    select
        product0_.id as id1_,
        product0_.category_id as category2_1_,
        product0_.name as name1_,
        product0_.price as price1_,
        product0_.descripton as descripton1_
    from
        users.product product0_
java SE应用程序设计
java WEB开发与实战
Hibernate:
    select
        product0_.id as id1_,
        product0_.category_id as category2_1_,
        product0_.name as name1_,
        product0_.price as price1_,
        product0_.descripton as descripton1_
    from
        users.product product0_
java SE应用程序设计
java WEB开发与实战
  注意:下面这步应该最先
   运行-->cmd-->cd\     回车-->memcached -vv         
  显示结果:
  Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
  C:\Documents and Settings\Administrator>ed\
'ed\' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
  C:\Documents and Settings\Administrator>cd\
  C:\>memcached -vv
slab class   1: chunk size     80 perslab 13107
slab class   2: chunk size    100 perslab 10485
slab class   3: chunk size    128 perslab  8192
slab class   4: chunk size    160 perslab  6553
slab class   5: chunk size    200 perslab  5242
slab class   6: chunk size    252 perslab  4161
slab class   7: chunk size    316 perslab  3318
slab class   8: chunk size    396 perslab  2647
slab class   9: chunk size    496 perslab  2114
slab class  10: chunk size    620 perslab  1691
slab class  11: chunk size    776 perslab  1351
slab class  12: chunk size    972 perslab  1078
slab class  13: chunk size   1216 perslab   862
slab class  14: chunk size   1520 perslab   689
slab class  15: chunk size   1900 perslab   551
slab class  16: chunk size   2376 perslab   441
slab class  17: chunk size   2972 perslab   352
slab class  18: chunk size   3716 perslab   282
slab class  19: chunk size   4648 perslab   225
slab class  20: chunk size   5812 perslab   180
slab class  21: chunk size   7268 perslab   144
slab class  22: chunk size   9088 perslab   115
slab class  23: chunk size  11360 perslab    92
slab class  24: chunk size  14200 perslab    73
slab class  25: chunk size  17752 perslab    59
slab class  26: chunk size  22192 perslab    47
slab class  27: chunk size  27740 perslab    37
slab class  28: chunk size  34676 perslab    30
slab class  29: chunk size  43348 perslab    24
slab class  30: chunk size  54188 perslab    19
slab class  31: chunk size  67736 perslab    15
slab class  32: chunk size  84672 perslab    12
slab class  33: chunk size 105840 perslab     9
slab class  34: chunk size 132300 perslab     7
slab class  35: chunk size 165376 perslab     6
slab class  36: chunk size 206720 perslab     5
slab class  37: chunk size 258400 perslab     4
slab class  38: chunk size 323000 perslab     3
slab class  39: chunk size 403752 perslab     2
slab class  40: chunk size 504692 perslab     2
<1944 server listening
<1928 new client connection
<1920 new client connection
<1908 new client connection
<1896 new client connection

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-106773-1-1.html 上篇帖子: Memcached Tip 2:Session同步 下篇帖子: ASP.NET中Memcached
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表