在测试项目中引入了memcached作为缓存层,以下是memcached的缓存配置和调用过程。

  • linux下memcached安装过程

直接参考以前的博文linux下安装memcached过程  不再详细介绍

  • java客户端访问memcached的jar包

在2.6及以前版本使用的是java_memcached-release_2.6.3.jar,3.0以上版本使用memcached-Java-Client-3.0.2.jar,下载地址为http://mvnrepository.com/artifact/com.whalin/Memcached-Java-Client。这两个版本差异较大,官方说法是由于danga的域名不属于他们所有,所以现在修改了类包名称。这是官方的wiki有相关的解释:https://github.com/gwhalin/Memcached-Java-Client/wiki

  • memcached-Java-Client的依赖包

memcached-Java-Client-3.0.2.jar 需要以下一些包,

1、commons-pool2-2.4.1.jar依赖包,下载地址http://mvnrepository.com/artifact/org.apache.commons/commons-pool2

2、junit

3、slf4j

  • application-Context.xml中 配置支持memcached
  1. <bean id="memcachedPool" class="com.schooner.MemCached.SchoonerSockIOPool"
  2. factory-method="getInstance" init-method="initialize">
  3. <constructor-arg>
  4. <value>neeaMemcachedPool</value>
  5. </constructor-arg>
  6. <property name="servers">
  7. <list>
  8. <value>memcached安装的服务器ip地址:memcached的监听端口</value>
  9. </list>
  10. </property>
  11. <property name="initConn">
  12. <value>20</value>
  13. </property>
  14. <property name="minConn">
  15. <value>10</value>
  16. </property>
  17. <property name="maxConn">
  18. <value>50</value>
  19. </property>
  20. <property name="nagle">
  21. <value>false</value>
  22. </property>
  23. <property name="socketTO">
  24. <value>3000</value>
  25. </property>
  26. </bean>
  27.  
  28. <bean id="memcachedClient" class="com.whalin.MemCached.MemCachedClient">
  29. <constructor-arg>
  30. <value>neeaMemcachedPool</value>
  31. </constructor-arg>
  32. </bean>
  • memcached操作类
  1. public class Memcached {
  2.  
  3. static MemCachedClient cachedClient;
  4.  
  5. private Memcached(){
  6.  
  7. }
  8.  
  9. public static void init()
  10. {
  11. ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:setup/applicationContext.xml");
  12. cachedClient = (MemCachedClient)ctx.getBean("memcachedClient");
  13.  
  14. }
  15.  
  16. public static Object get(String key) {
  17. return cachedClient.get(key);
  18. }
  19.  
  20. public static boolean add(String key, Object value) {
  21. return cachedClient.add(key, value);
  22. }
  23.  
  24. public static boolean add(String key, Object value, Integer expire) {
  25. return cachedClient.add(key, value, expire);
  26. }
  27.  
  28. public static boolean set(String key, Object value) {
  29. return cachedClient.set(key, value);
  30. }
  31.  
  32. public static boolean set(String key, Object value, Integer expire) {
  33. return cachedClient.set(key, value, expire);
  34. }
  35.  
  36. public static boolean replace(String key, Object value) {
  37. return cachedClient.replace(key, value);
  38. }
  39.  
  40. public static boolean replace(String key, Object value, Integer expire) {
  41. return cachedClient.replace(key, value, expire);
  42. }
  43.  
  44. public static boolean delete(String key){
  45. return cachedClient.delete(key);
  46. }
  47. }
  • 调用测试
  1. Memcached.set("memcached", "测试");
  2. System.out.println("memcached缓存————————="+ Memcached.get("memcached"));

Java client 访问 memcached的更多相关文章

  1. [Kerberos] Java client访问kerberos-secured cluster

    使用java client访问kerberos-secured cluster,最重要的是先从admin那里拿到可用的keytab文件,用来作认证.接下来就是调整连接的配置.以下先用连接hdfs为例进 ...

  2. Memcached Java Client with sample program--reference

    In my previous post, I listed down most common telnet commands for memcached with sample execution t ...

  3. Memcached Java Client比较

    JAVA客户端调用memcached比较 Memcached 客户端程序三种API的比较 Java开发中的Memcache原理及实现(五)Memcached客户端

  4. JAVA API访问Hbase org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=32

    Java使用API访问Hbase报错: 我的hbase主节点是spark1   java代码访问hbase的时候写的是ip 结果运行程序报错 不能够识别主机名 修改主机名     修改主机hosts文 ...

  5. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

  6. 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)

    硬盘和内存的作用是什么 硬盘的作用毫无疑问我们大家都清楚,不就是用来存储数据文件的么?如照片.视频.各种文档或等等,肯定也有你喜欢的某位岛国老师的动作片,这个时候无论我们电脑是否关机重启它们永远在那里 ...

  7. 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)

    V20161028 由于项目原因,需要用到https去做一些事情. 这儿做了一些相应的研究. 这个https 用起来也是折腾人,还是研究了一周多+之前的一些积累. 目录 1,java client 通 ...

  8. 在Java中使用Memcached(转)

    memcache的Java客户端调用,在网上还是有些少,很多都是php的.如何要想用Java调用memcache的服务,首先要有客户端的支持,我们先下载一个客户端吧.下载地址:https://gith ...

  9. Java ssh 访问windows/Linux

     Java ssh 访问windows/Linux 工作中遇到的问题: Java code运行在一台机器上,需要远程到linux的机器同时执行多种命令.原来采用的方法是直接调用ssh命令或者调用pli ...

随机推荐

  1. 我的第一个Hibernate程序

    1.建表建序列(所用数据库为Oracle,数据库名为XE,创建用户hibernate,密码为123456) conn system/manager; ; grant connect to hibern ...

  2. VJ1061迎春舞会之三人组舞

    题目链接 推了半个下午..写的三重超时了  加了点单调队列的思想 优化了下过了 dp[i][j] 第二组的最右边的人选第J个人 那最左边肯定选第j-1个人 肯定是选相邻的 dp[i][j] = min ...

  3. Charles抓Https的包

    1: 手机上打开这个地址, 安装文件. http://www.charlesproxy.com/getssl 2:保证手机与电脑在同一个网段 3:按住alt再点击wifi, 显示出当前电脑的ip地址. ...

  4. 关于开源框架GPUImage 的简单说明

    GPUImage是一个非常棒的图像处理的开源库,里面提供了非常非常多的滤镜效果来加工图片. 不过就是因为太多效果了,而且对于程序员来说,那么多效果并不清楚知道要用那一个.于是我就使用提供的默认值,加上 ...

  5. 【转】Android 学习笔记——利用JNI技术在Android中调用、调试C++代码

    原文网址:http://cherishlc.iteye.com/blog/1756762 在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在And ...

  6. linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loca ...

  7. SR4000自带软件修改(二)

    /*----------------------------------------------------------------------------- *   *   版权声明: *   可以 ...

  8. 【CSS3】Advanced5:At Rules:@import, @media, and @font-face

    1.@import bolt another stylesheet onto your existing one. @import url(**.css); must be placed at the ...

  9. HNU13377:Book Club 二分图

    题意:有n个人,m种需求,给出m行,每行a,b代表a想要的书在b那里,问能不能通过交换的方法来满足每个人的需求 思路:要符合题意的话一定是二分图.网上还一种dfs #include<cstdio ...

  10. 全面产品管理-从细微处认识"用户体验"

    转载: 让我以一个故事开始本文,我觉得这个故事能概括大多数人听到“用户体验”这个术语时的想法. 我经常访问的一个财经网站给我发了一封电子邮件,请求我点击里面的一个链接,对一些信息进行审核.所以我就点了 ...