关闭

使用Memcached、Spring AOP构建数据库前端缓存框架

发表于:2013-9-10 10:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ycyk_168    来源:51Testing软件测试网采编

  上回说到Memcahed的安装及java客户端的使用,现在我们使用memcached、Spring AOP技术来构建一个数据库的缓存框架。

  数据库访问可能是很多网站的瓶颈。动不动就连接池耗尽、内存溢出等。前面已经讲到如果我们的网站是一个分布式的大型站点,那么使用memcached实现数据库的前端缓存是个很不错的选择;但如果网站本身足够小只有一个服务器,甚至是vps的那种,不推荐使用memcached,使用Hibernate或者Mybatis框架自带的缓存系统就行了。

  一、开启memcached服务器端服务

  如果已经安装了memcached服务器端程序,请确认服务器端服务已开启。

  二、引入jar

  1.  alisoft-xplatform-asf-cache-2.5.1.jar

  2.  commons-logging-1.0.4.jar

  3.  hessian-3.0.1.jar

  4.  log4j-1.2.9.jar

  5.  stax-api-1.0.1.jar

  6.  wstx-asl-2.0.2.jar

  三、创建memcached客户端配置文件

<memcached>
 <!-- name 属性是程序中使用Cache的唯一标识;socketpool 属性将会关联到后面的socketpool配置; -->
 <client name="mclient_0" compressEnable="true" defaultEncoding="UTF-8"
  socketpool="pool_0">
  <!-- 可选,用来处理出错情况 -->
  <errorHandler>com.alisoft.xplatform.asf.cache.memcached.MemcachedErrorHandler
  </errorHandler>
 </client>

 <!--
  name 属性和client 配置中的socketpool 属性相关联。
  maintSleep属性是后台线程管理SocketIO池的检查间隔时间,如果设置为0,则表明不需要后台线程维护SocketIO线程池,默认需要管理。
  socketTO 属性是Socket操作超时配置,单位ms。 aliveCheck
  属性表示在使用Socket以前是否先检查Socket状态。
 -->
 <socketpool name="pool_0" maintSleep="5000" socketTO="3000"
  failover="true" aliveCheck="true" initConn="5" minConn="5" maxConn="250"
  nagle="false">
  <!-- 设置memcache服务端实例地址.多个地址用","隔开 -->
  <servers>127.0.0.1:11211</servers>
  <!--
   可选配置。表明了上面设置的服务器实例的Load权重. 例如 <weights>3,7</weights> 表示30% load 在
   10.2.224.36:33001, 70% load 在 10.2.224.46:33001
  
  <weights>3,7</weights>
  -->
 </socketpool>
</memcached>

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号