java 使用memcached以及spring 配置memcached完整实例代码

发布时间 - 2026-01-11 02:19:12    点击率:

Memcached是一个高性能的分布式内存对象缓存系统,本文介绍了java 使用memcached以及spring 配置memcached完整实例代码,分享给大家
本文涉及以下内容:

1,要使用的jar包

2,java 使用memcached

3,spring 配置memcached

导入jar

  1. java_memcached-release_2.6.6.jar
  2. commons-pool-1.5.6.jar
  3. slf4j-api-1.6.1.jar
  4. slf4j-simple-1.6.1.jar

示例代码

创建一个memcached 工厂类

  public class CacheHelper {

      private static MemCachedClient mcc = new MemCachedClient();

      private CacheHelper() {
      }

    static {
      String[] servers = {"71.0.0.29:2222", "71.0.0.29:2223"};
      Integer[] weights = {1, 2};


      SockIOPool pool = SockIOPool.getInstance();

      pool.setServers(servers);
      pool.setWeights(weights);
      pool.setInitConn(5);
      pool.setMinConn(5);
      pool.setMaxConn(250);
      pool.setMaxIdle(1000 * 60 * 60 * 6);
      pool.setMaintSleep(30);
      pool.setNagle(false); // 禁用nagle算法
      pool.setSocketConnectTO(0);
      pool.setSocketTO(3000); //3秒超时
      pool.setHashingAlg(3);

      pool.initialize();
    }

    public static MemCachedClient getMemCachedClient() {
      return mcc;
    }
  }

测试

 MemCachedClient mcc = CacheHelper.getMemCachedClient();
 mcc.add("k8", "1234455");

 MemCachedClient mcc = CacheHelper.getMemCachedClient();

    UserModel user = new UserModel("12322222", "lihao", 28);
    boolean is = mcc.add("user2",user);
public void setInitConn( int initConn ) 
//设置开始时每个cache服务器的可用连接数

public void setMinConn( int minConn ) 
//设置每个服务器最少可用连接数

public void setMaxConn( int maxConn ) 
//设置每个服务器最大可用连接数

 public void setMaxIdle( long maxIdle )
//设置可用连接池的最长等待时间

public void setMaintSleep( long maintSleep )
//设置连接池维护线程的睡眠时间 ,设置为0,维护线程不启动。维护线程主要通过log输出
//socket的运行状况,监测连接数目及空闲等待时间等参数以控制连接创建和关闭。

 public void setNagle( boolean nagle )
//设置是否使用Nagle算法,因为我们的通讯数据量通常都比较大(相对TCP控制数据)而且要求响 应及时,因此该值需要设置为false(默认是true)

ublic void setSocketTO( int socketTO ) 
//设置socket的读取等待超时值

public void setSocketConnectTO( int socketConnectTO )
//设置socket的连接等待超时值

 public void setHashingAlg( int alg ) 
// 设置hash算法
//  alg=0 使用String.hashCode()获得hash code,该方法依赖JDK,可能和其他客户端不兼容,建议不使用   
//  alg=1 使用original 兼容hash算法,兼容其他客户端
//  alg=2 使用CRC32兼容hash算法,兼容其他客户端,性能优于original算法
//  alg=3 使用MD5 hash算法
//  采用前三种hash算法的时候,查找cache服务器使用余数方法。采用最后一种hash算法查找cache   服务时使用一致性hash方法

//public void initialize() 设置完pool参数后最后调用该方法,启动pool。

memcached 和Spring 继承

  <!--memcached 客户端 SocketPool-->
  <bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" 
  factory- method="getInstance"
   init-method="initialize" 
   destroy-method="shutDown">
    <constructor-arg><value>neeaMemcachedPool</value></constructor-arg> <property   name=  "servers">
    <list> <value>192.168.1.106:2222</value> <value>192.168.1.106:2223</value>
         </list>
       </property>
    <property name="weights"> <list>
            <value>1</value>
            <value>2</value>
          </list>
    </property>
    <property name="initConn">
       <value>5</value>
     </property>
    <property name="minConn">
       <value>5</value>
    </property>
    <property name="maxConn"> 
      <value>250</value>
    </property>
    <property name="maintSleep">
      <value>30</value>
    </property>
    <property name="nagle">
      <value>false</value>
    </property>
    <property name="maxIdle">
      <value>6000</value>
    </property>
    <property name="socketTO">
       <value>3000</value>
    </property>
  </bean>

  <!--memcached client-->
  <bean id="memCachedClient" class="com.danga.MemCached.MemCachedClient">
  <constructor-arg> 
    <value>neeaMemcachedPool</value>
  </constructor-arg>
 </bean>

相关文章

Memcached 安装使用存储 

memcached优化 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # memcached  # 使用  # spring配置memcached  # java中使用memcached  # 深入理解redis_memcached失效原理(小结)  # ThinkPHP框架中使用Memcached缓存数据的方法  # .NET Core中使用Redis与Memcached的序列化问题详析  # CentOS 7.x安装部署Memcached服务器的详细方法  # 在Linux服务器上安装 memcached的基本操作  # PHP内存缓存功能memcached示例  # Laravel使用memcached缓存对文章增删改查进行优化的方法  # Laravel Memcached缓存驱动的配置与应用方法分析  # 解决 .NET Core 中 GetHostAddressesAsync 引起的 EnyimMemc  # 在windows系统下如何安装memcached的讲解  # 客户端  # 连接数  # 设置为  # 是一个  # 连接池  # 相关文章  # 给大家  # 三种  # 高性能  # 都比  # 创建一个  # 要使  # 大家多多  # 不兼容  # 睡眠时间  # setServers  # getInstance  # SockIOPool  # weights  # Integer 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何彻底卸载建站之星软件?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  如何快速查询网址的建站时间与历史轨迹?  如何为不同团队 ID 动态生成多个独立按钮  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel如何实现文件上传和存储?(本地与S3配置)  javascript基于原型链的继承及call和apply函数用法分析  如何在 Pandas 中基于一列条件计算另一列的分组均值  Python文本处理实践_日志清洗解析【指导】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何用wdcp快速搭建高效网站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Laravel如何生成URL和重定向?(路由助手函数)  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何选择可靠的免备案建站服务器?  如何用AWS免费套餐快速搭建高效网站?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何用AI帮你把自己的生活经历写成一个有趣的故事?  浅谈Javascript中的Label语句  Python结构化数据采集_字段抽取解析【教程】  jquery插件bootstrapValidator表单验证详解  Laravel如何使用模型观察者?(Observer代码示例)  EditPlus 正则表达式 实战(3)  Laravel Session怎么存储_Laravel Session驱动配置详解  js代码实现下拉菜单【推荐】  phpredis提高消息队列的实时性方法(推荐)  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何基于PHP生成高效IDC网络公司建站源码?  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  公司网站制作需要多少钱,找人做公司网站需要多少钱?  LinuxShell函数封装方法_脚本复用设计思路【教程】  如何在宝塔面板中创建新站点?  Laravel怎么使用artisan命令缓存配置和视图  Java垃圾回收器的方法和原理总结  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  如何用好域名打造高点击率的自主建站?  Python图片处理进阶教程_Pillow滤镜与图像增强  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  大学网站设计制作软件有哪些,如何将网站制作成自己app?