4.0. 增加spymemcached依赖

net.spyspymemcached2.12.0

4.1. 配置memcached的ip地址

分别在dev,test,idc,prod的app-config.properties文件下添加memcached的ip地址:

dev,test:memcache_ip=192.168.1.10:11211

idc:memcache_ip=172.16.4.10:11211

prod:memcache_ip=172.16.0.10:11211

4.2. 配置memcached实例:

app-cached.xml文件增加:

4.3. 新增类SpringContextHolder

import java.util.Map;

import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;

/** *  * 以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出ApplicaitonContext. **/

public class SpringContextHolder implements ApplicationContextAware {

private static ApplicationContext applicationContext;

/** *  * 实现ApplicationContextAware接口的context注入函数, 将其存入静态变量. */

public void setApplicationContext(ApplicationContext applicationContext) {

SpringContextHolder.applicationContext = applicationContext;

}

/** *  * 取得存储在静态变量中的ApplicationContext. */

public static ApplicationContext getApplicationContext() {

checkApplicationContext();

return applicationContext;

}

/** *  * 从静态变量ApplicationContext中取得Bean, 自动转型为所赋值对象的类型. */

@SuppressWarnings("unchecked") public static T getBean(String name) {

checkApplicationContext();

return (T) applicationContext.getBean(name);

}

/** *  * 从静态变量ApplicationContext中取得Bean, 自动转型为所赋值对象的类型. *  * 如果有多个Bean符合Class, 取出第一个. */

@SuppressWarnings("unchecked") public static T getBean(Class clazz) {

checkApplicationContext();

Map beanMaps = applicationContext.getBeansOfType(clazz);

if (beanMaps != null && !beanMaps.isEmpty()) {

return (T) beanMaps.values().iterator().next();

} else {

return null;

}

}

private static void checkApplicationContext() {

if (applicationContext == null) {

throw new IllegalStateException("applicaitonContext未注入,请在applicationContext.xml中定义SpringContextHolder");

}

}

}

4.4.增加MemcacheUtil

import com.test.bean.SpringContextHolder;import net.spy.memcached.MemcachedClient;

public class MemcacheUtil {    public static MemcachedClient getMemCachedClient() {        return SpringContextHolder.getBean("memcachedClient");}}

4.5 测试代码

public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "classpath:spring-memcached-spy.xml"); MemcachedClient client=MemcacheUtil.getMemCachedClient();  //MemcachedClient client =(MemcachedClient)context.getBean("memcachedClient"); Object obj=client.get("glt7hpcdi1ggo03l9qknu8a755");  System.out.println(obj); }

php java memcached_php和java的memcached使用的兼容性问题解决过程相关推荐

  1. php和java的memcached使用的兼容性问题解决过程

    1. 背景: php 使用memcached客户端设置一个key,java使用java-memcached-client去读,报错如下: ERROR|com.whalin.MemCached.MemC ...

  2. Java面试题 java高级

    八:java高级 1:代码优化 (1)代码优化的目标是: 1 .减小代码的体积 2 .提高代码运行的效率 (2)代码结构层次的优化(目的:更加方便代码的维护–可维护性,可读性) 1.代码注释(代码规范 ...

  3. very very good,Java面试宝典+Java核心知识集

    这几天刚整理出炉的两份最全"Java面试宝典+Java核心知识集"(very very good!!!),因此有了今天咱这篇文章,没错,我又来分享干货了!!! Java面试宝典 说 ...

  4. java 读取txt,java读取大文件

    java 读取txt,java读取大文件 package com.bbcmart.util; import java.io.File; import java.io.RandomAccessFile; ...

  5. JAVA基础(JAVA 执行环境) 第一天

    JAVA程序有3中执行环境. (1)能够单独运行的程序,称为Java Application(Java应用程序). (2)在Internet浏览器中运行的程序,称为 Java Applet(JAVA小 ...

  6. java.utilDate和java.sql.Date

    java.utilDate和java.sql.Date由广州疯狂软件教育java培训分享: java程序中的时间类型有java.util.Date和java.sql.Date两种.两者之间的关系和转化 ...

  7. java 终极超类,Java问答:终极父类(3),java问答

    Java问答:终极父类(3),java问答Java问答:终极父类(上) Java问答:终极父类(下) Java问答:终极父类(2)-上篇 Java问答:终极父类(2)-下篇 在之前关于 Object ...

  8. java.lang.OutOfMemoryError: Java heap space错误及...

    为什么80%的码农都做不了架构师?>>>    以下是从网上找到的关于堆空间溢出的错误解决办法: java.lang.OutOfMemoryError: Java heap spac ...

  9. 浅谈Java SE、Java EE、Java ME三者的区别

    1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...

最新文章

  1. 初中计算机flash操作,初中信息技术FLASH基础知识
  2. urlencode urldecode
  3. web项目发布时出现Deployment failure on Tomcat 7.x.
  4. Java中short、int、long、float、double的取值范围
  5. cf round480D Perfect Groups
  6. 配置grafana的数据源、添加监控
  7. java出现com.lowagie.text。DocumentException:字体“C: \ Windows \ \ simsun字体。带有'Identity-H'的ttc'不被识别的错误
  8. 如何修改文件格式(win11)
  9. Django ---uploads files
  10. 127.0.0.1 192.168 localhost 之间的区别
  11. Unity经典案例再现《太空大战》
  12. windows,打印机无打印任务,仍不断打印
  13. pythonsort参数_Python sort()函数有哪些参数?
  14. OSG路径漫游实现与应用
  15. XposedZjDroid脱壳梆梆加固
  16. 屏幕录制软件推荐,分享这3款,简单好用
  17. BUCK降压控制电路指南
  18. python tif格式的图片转换成其他格式
  19. 第六章 组合数据类型----元组
  20. 《UnityAPI.Vector2二维向量》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Vector2+Normalized+Lerp+Dot+立钻哥哥++OK++)

热门文章

  1. python文本分类评价指标 top1如何计算_python – Keras:如何计算多标签分类的准确......
  2. 计算机对应的自然科学,计算机类书稿加工应注意的几个问题
  3. mysql新建备份在哪里_navicat for MySQL创建备份计划的详细流程
  4. Java对象转JSON时如何动态的增删改查属性
  5. Oracle 被 4000 多名女性员工集体诉讼:因薪资比男性每年少 1.3 万美元
  6. 分库分表就能无限扩容吗,解释得太好了!
  7. 做diff_Vue3.0时代你必须了解的:diff算法原理和优化
  8. android 模拟点击localinstrumentation,Android Instrumentation模拟鼠标点击事件
  9. mysql8.0导出带数据的库表_MySQL8.0数据库导出与备份
  10. 设计模式之简介及其分类