memcached的使用
来源:互联网 发布:与大数据有关课题 编辑:程序博客网 时间:2024/06/06 03:21
1.安装memcache
1) 下载memcached服务端memcached-1.2.6-win32-bin.zip,地址:http:
//code.jellycan.com/memcached/
2) 下载java版客户端 java_memcached-release_2.6.1.zip
3) 解压缩memcached-1.2.6-win32-bin.zip到指定目录,例如:D:\memcached-1.2.6-win32 ,
在终端(即cmd命令行界面),执行
'D:\memcached-1.2.6-win32\memcached.exe -d install'
安装,再执行:
'D:\memcached\memcached.exe -d start'
启动,这样memcache就会作为windows系统服务在每 次开机时启动memcache服务。
2. 新建配置文件(spring级别)
新建名为spring-memcache.xml的spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"><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>${memcache.server}</value></list></property><property name="initConn"><value>${memcache.initConn}</value></property><property name="minConn"><value>${memcache.minConn}</value></property><property name="maxConn"><value>${memcache.maxConn}</value></property><property name="maintSleep"><value>${memcache.maintSleep}</value></property><property name="nagle"><value>${memcache.nagle}</value></property><property name="socketTO"><value>${memcache.socketTO}</value></property></bean><bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient"><constructor-arg><value>neeaMemcachedPool</value></constructor-arg></bean></beans>
3.Web.xml文件中配置新建的文件
<!-- 配置spring的监听器,加载Spring配置文件--><context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/spring/applicationContext-common.xml,classpath:/spring/spring-memcache.xml</param-value></context-param>
4. 修改spring配置文件
修改applicationContext-common.xml配置文件。
1).添加properties配置文件(memcache.properties)去配置memcache的属性。
<beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:memcache.properties</value><value>classpath:jdbc.properties</value></list></property></bean>
2).添加bean去初始化我们自己的一个spring工具类,一会进行详细解释。
<bean id="springContextHolder" class="com.hxrainbow.crm.util.SpringContextHolder"/>
5. Memcache配置文件
memcache.properties文件内容如下:
mcache.server=127.0.0.1\:11211memcache.initConn=20memcache.minConn=10memcache.maxConn=50memcache.maintSleep=3000memcache.nagle=falsememcache.socketTO=3000
6. 获得spring容器的工具类
/*** 以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出ApplicaitonContext.**/public class SpringContextHolder implementsApplicationContextAware{private static ApplicationContext applicationContext;/*** 实现ApplicationContextAware接口的context注入函数, 将其存入静态变量.*/public voidsetApplicationContext(ApplicationContext applicationContext) {SpringContextHolder.applicationContext= applicationContext;}/*** 取得存储在静态变量中的ApplicationContext.*/public staticApplicationContext getApplicationContext() {checkApplicationContext();return applicationContext;}/*** 从静态变量ApplicationContext中取得Bean, 自动转型为所赋值对象的类型.*/@SuppressWarnings("unchecked")public static<T> T getBean(String name) {checkApplicationContext();return (T) applicationContext.getBean(name);}/*** 从静态变量ApplicationContext中取得Bean, 自动转型为所赋值对象的类型.* 如果有多个Bean符合Class, 取出第一个.*/@SuppressWarnings("unchecked")public static<T> T getBean(Class<T> clazz) {checkApplicationContext();Map beanMaps = applicationContext.getBeansOfType(clazz);if (beanMaps!=null&& !beanMaps.isEmpty()) {return(T) beanMaps.values().iterator().next();} else{return null;}}private static voidcheckApplicationContext() {if (applicationContext == null) {throw newIllegalStateException("applicaitonContext未注入,请在applicationContext.xml中定义SpringContextHolder");}}}
首先说一下ApplicationContextAware这个接口,这个接口中有一个方法:
void setApplicationContext(ApplicationContext applicationContext)
下面是这个方法的简单说明:
Set the ApplicationContext that this object runs in.Normally this call will be used to initialize the object.
我们在配置文件中配置了bean的初始化,然后他就可以用于获得spring容器中的东西了。
7.memcache的工具类
public class MemcacheUtil { public static MemCachedClient getMemCachedClient() { return SpringContextHolder.getBean("memcachedClient");}}
8.junit测试类
public class MemcacheUtilTest { static MemCachedClient memcachedClient; @BeforeClass public static void setUpBeforeClass() throws Exception { ApplicationContext ac=new ClassPathXmlApplicationContext(new String[]{"/spring/applicationContext-common.xml","/spring/spring-memcache.xml"}); } @Test public void s() { MemCachedClient m=SpringContextHolder.getBean("memcachedClient"); m.set("name", "yunhui"); System.out.println(m.get("name")); }}
0 0
- MemCached的使用笔记
- MemCached的使用
- Memcached的使用安装
- memcached的使用
- memcached的使用
- yii2 memcached 的使用
- memcached的使用
- Memcached的使用
- Memcached的简单使用
- memcached的使用(一)
- memcached简单的使用教程
- memcached 的使用及原理
- memcached简单的使用教程
- memcached简单的使用教程
- Python-memcached的基本使用
- memcached简单的使用教程
- memcached的安装及使用
- Memcached的简单使用实例
- linux defconfig、 .config 、kconfig 与makefile
- 网站开发-日志-1
- Jquery之过滤选择器
- 关于UserVectorToCooccurrenceMapper找不到iterateNonZero()方法
- openfire smack包聊天室
- memcached的使用
- JS面向对象编程之继承
- UBIFS设计简介 - A Brief Introduce to the Design of UBIFS
- android webservice 调用
- 构造函数不能为虚函数,虚析构函数的作用
- eclipse 中创建maven web项目
- 扫描识别系统
- 安装wiki
- IOS-NSData使用方法