- 浏览: 347340 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
haiw:
谢谢分享
Oracle 的递归查询(树型查询) -
nomandia:
除非是通过open打开的窗口,否则没法close的
JS 关闭当前页面 -
c30989239:
注意 SimpleDateFormat 是非线程安全的
Java 获取网络时间并在jsp中显示 -
归来朝歌:
不错,以后可能用得上
Java 操作Excel -
luhantu:
不错!学习了
Java 操作Excel
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.导入jar包
将java_memcached-release_2.6.1.zip解压后产生的java_memcached-release_1.6.jar加入到项目中lib文件夹下面。
3.spring与memcache集成
新建配置文件(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/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://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>
Web.xml文件中配置新建的文件
<!-- 配置spring的监听器,加载Spring配置文件-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>c
lasspath:/spring/applicationContext-common.xml,
classpath:/spring/spring-memcache.xml
</param-value>
</context-param>
修改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"/>
Memcache配置文件
memcache.properties文件内容如下:
mcache.server=127.0.0.1\:11211
memcache.initConn=20
memcache.minConn=10
memcache.maxConn=50
memcache.maintSleep=3000
memcache.nagle=false
memcache.socketTO=3000
获得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)
我们在配置文件中配置了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")); }}
从网上找来的测试memcache的代码
package test;
import com.meetup.memcached.MemcachedClient;
import com.meetup.memcached.SockIOPool;
import java.util.Date;
public class Test {
protected static MemcachedClient mcc = new MemcachedClient();
static {
String[] servers = { "127.0.0.1:11211" };
//这是memcache的服务地址和端口这个static段里面其他的配置基本是不变的,所以直接用的他人的
Integer[] weights = { 3 };
// 创建一个实例对象SocketIOPool
SockIOPool pool = SockIOPool.getInstance();
// 设置Memcached Server
pool.setServers(servers);
// 设置Memcached权重
pool.setWeights(weights);
// 初始化5个连接
pool.setInitConn(5);
// 最小5个连接
pool.setMinConn(5);
// 最大250个连接
pool.setMaxConn(250);
// 一个连接最大句柄时间为6小时
pool.setMaxIdle(1000 * 60 * 60 * 6);
// 设置休眠以维持线程,它每30秒苏醒以此维护池大小
pool.setMaintSleep(30);
// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机
// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,
// 以至这个包准备好了就发;
pool.setNagle(false);
// 连接建立后对超时的控制
pool.setSocketTO(3000);
// 初始化一些值并与MemcachedServer段建立连接
pool.initialize();
// 开启压缩功能
mcc.setCompressEnable(true);
// 大于64K开始压缩
mcc.setCompressThreshold(64 * 1024);
}
private static MemcachedClient memc = new MemcachedClient();
public static void bulidCache() {
// set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long
// date) 中参数date,需要是个大于或等于1000的值。
// 因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果
// 小于1000的值,除以1000以后都是0,即永不过期
mcc.set("test", "This is a test String", new Date(10000));
// 十秒后过期
mcc.set("hzh","This is a test String",new Date(1000));
//set有三个参数,一个是key,一个是value,一个是time
}
public static void output() {
// 从cache里取值
String value1 = (String) mcc.get("test");
String value2 = (String) mcc.get("hzh");
System.out.println(value1);
System.out.println(value2);
}
public static void main(String[] args) {
bulidCache();
output();
}
}
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.导入jar包
将java_memcached-release_2.6.1.zip解压后产生的java_memcached-release_1.6.jar加入到项目中lib文件夹下面。
3.spring与memcache集成
新建配置文件(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/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://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>
Web.xml文件中配置新建的文件
<!-- 配置spring的监听器,加载Spring配置文件-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>c
lasspath:/spring/applicationContext-common.xml,
classpath:/spring/spring-memcache.xml
</param-value>
</context-param>
修改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"/>
Memcache配置文件
memcache.properties文件内容如下:
mcache.server=127.0.0.1\:11211
memcache.initConn=20
memcache.minConn=10
memcache.maxConn=50
memcache.maintSleep=3000
memcache.nagle=false
memcache.socketTO=3000
获得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)
我们在配置文件中配置了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")); }}
从网上找来的测试memcache的代码
package test;
import com.meetup.memcached.MemcachedClient;
import com.meetup.memcached.SockIOPool;
import java.util.Date;
public class Test {
protected static MemcachedClient mcc = new MemcachedClient();
static {
String[] servers = { "127.0.0.1:11211" };
//这是memcache的服务地址和端口这个static段里面其他的配置基本是不变的,所以直接用的他人的
Integer[] weights = { 3 };
// 创建一个实例对象SocketIOPool
SockIOPool pool = SockIOPool.getInstance();
// 设置Memcached Server
pool.setServers(servers);
// 设置Memcached权重
pool.setWeights(weights);
// 初始化5个连接
pool.setInitConn(5);
// 最小5个连接
pool.setMinConn(5);
// 最大250个连接
pool.setMaxConn(250);
// 一个连接最大句柄时间为6小时
pool.setMaxIdle(1000 * 60 * 60 * 6);
// 设置休眠以维持线程,它每30秒苏醒以此维护池大小
pool.setMaintSleep(30);
// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机
// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,
// 以至这个包准备好了就发;
pool.setNagle(false);
// 连接建立后对超时的控制
pool.setSocketTO(3000);
// 初始化一些值并与MemcachedServer段建立连接
pool.initialize();
// 开启压缩功能
mcc.setCompressEnable(true);
// 大于64K开始压缩
mcc.setCompressThreshold(64 * 1024);
}
private static MemcachedClient memc = new MemcachedClient();
public static void bulidCache() {
// set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long
// date) 中参数date,需要是个大于或等于1000的值。
// 因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果
// 小于1000的值,除以1000以后都是0,即永不过期
mcc.set("test", "This is a test String", new Date(10000));
// 十秒后过期
mcc.set("hzh","This is a test String",new Date(1000));
//set有三个参数,一个是key,一个是value,一个是time
}
public static void output() {
// 从cache里取值
String value1 = (String) mcc.get("test");
String value2 = (String) mcc.get("hzh");
System.out.println(value1);
System.out.println(value2);
}
public static void main(String[] args) {
bulidCache();
output();
}
}
发表评论
-
Myeclipse下切换SVN用户
2016-03-01 12:56 1349Eclipse的SVN插件Subclipse做得很好,在svn ... -
win8.1 安装wamp
2015-04-14 09:09 1316最近新买了电脑,预装系统为正版的win8.1,换装其他 ... -
Guava库学习:Guava的由来与Joiner类的学习使用
2015-03-17 11:20 1390链接地址:http://www.xx566.com ... -
tomcat OutOfMemory 解决办法
2013-09-29 11:13 1943OutOfMemory 常见错误有以下几种: 1.tomca ... -
Ant学习与使用
2013-09-27 16:42 1657一、为什么使用ANT 当一个代码项目大了以后,每次重新编译,打 ... -
Tomcat项目部署方式
2013-09-23 21:52 1106摘自http://blog.csdn.net/diamondy ... -
myeclispe 中deploy问题
2013-09-23 20:02 1552color=blue]1.[size=x-small]在mye ... -
SMB/JCIFS协议,共享文件的上传和下载
2013-09-23 14:02 3899SMB共享文件的上传和下载参考: http://dongisl ... -
linux下搭建svn服务器及创建项目
2013-09-11 15:32 14352一. 使用yum 安装SVN包 ... -
moodle手机版在android平台上的安装配置
2013-08-28 16:19 1652moodle手机版在android平台上的安装配置 一.ph ... -
phonegap2.5在android开发平台的环境搭建及插件安装
2013-08-28 09:18 1111PhoneGap开发环境搭建 转自博客园:http://ww ... -
xbmc自己定制皮肤
2013-08-22 13:38 18631 剖析皮肤 XBMC的皮肤打 ...
相关推荐
Memcached安装配置及使用文档,来源于网络,仅供参考
以下是对Memcached简单配置和使用的详细说明: **第一步:引入iBOS jar包** 在使用Memcached之前,首先需要确保你的应用程序中包含了必要的库文件。将iBOS相关的jar包放入应用的lib目录下,这样你的应用程序就能...
5. **查看Memcached配置文件** ```bash cat /etc/sysconfig/memcached ``` 在配置文件中可以看到几个重要的配置项: - `PORT`: Memcached监听的端口,默认为11211。 - `USER`: 用于运行Memcached服务的用户,...
在本文中,我们将详细介绍如何安装和配置Memcached,以及如何查询其运行状态。 1. **安装Memcached** - 首先,你需要从官方源或指定网址下载适合你操作系统的Memcached版本。例如,Windows用户可以访问...
本文将详细介绍如何在 Ubuntu 操作系统下使用源代码安装并配置 Apache、Tomcat 和 Memcached,实现集群中的 Session 共享与负载均衡。由于采用的是源码安装方式,可能会遇到一些细节上的差异,但总体思路与步骤应...
2. **配置**:Memcached的配置文件一般位于/etc/memcached.conf,可以调整内存大小、端口号、最大连接数等参数。 3. **启动与停止**:使用命令行工具如`memcached`或`service memcached start/stop/restart`来启动...
本文将详细介绍如何在Windows环境下安装和配置Memcached,并探讨其基本操作和状态查询。 首先,安装Memcached的步骤如下: 1. 访问 http://code.jellycan.com/memcached/ 下载适用于Windows的最新版本(例如1.2.6...
Memcached_原理和使用详解,memcache的配置和使用
Memcached是一种集中式Cache,支持分布式横向扩展。这里需要解释说明一下,很多开发者觉得Memcached是一种分布式缓存系统,但是其实Memcached服务端本身是单实例的...下面再总结几个它的特点来理解一下其优点和限制...
2. 配置Memcached服务,包括设置监听端口、最大内存使用量等参数。 3. 安装客户端库,如PHP的PECL扩展、Python的pylibmc库等,以便应用程序能够与Memcached通信。 4. 在应用程序中集成Memcached,使用客户端库进行...
本文档将详细介绍如何在Windows 7 64位操作系统上安装与配置MemCached。 #### 二、安装步骤 1. **下载MemCached** 首先,从官方或可信源下载适用于Windows 64位系统的MemCached安装包,并将其解压缩到指定路径,...
Memcached 安装和配置 Memcached 是一个自由的开源高速缓存系统,用于加速动态 web 应用程序的性能。它通过减少数据库负载和增加应用程序的响应速度来提高网站的性能。以下是 Memcached 的安装和配置详解。 安装 ...
- 创建一个Memcached配置类,声明一个`MemcachedClient` bean,并配置服务器地址、池大小等参数。 - 配置Spring的缓存抽象,将memcached作为缓存 provider,例如: ```xml ``` - 将`...
本文将详细介绍如何配置Nginx、Memcached并集成到Tomcat中,同时讲解如何处理Tomcat中的jar包。 一、Nginx简介与配置 Nginx是一款轻量级且高性能的Web服务器/反向代理服务器,以其优秀的并发处理能力和低内存消耗而...
tomcat使用memcached配置session同步的所有jar包,里面有asm-5.2.jar、kryo-4.0.0.jar、kryo-serializers-0.38.jar、memcached-session-manager-1.9.7.jar、minlog-1.3.0.jar、msm-kryo-serializer-1.9.7.jar、...