Cmd
到memcached根目录
1、安装
memcached.exe –d install
2、启动
memcached.exe -d start
此时memcached已经注册为开机启动服务
1、安装
memcached.exe –d install
2、启动
memcached.exe -d start
此时memcached已经注册为开机启动服务
完成安装。
互联网项目开发目前比较流行的缓存服务分别是memcache和redis
两种都是非关系型缓存,即按照<key, value>方式存取
Java缓存框架 EhCache EhCache 是一个纯Java的进程内缓存框架
,具有快速、精干等特点,是Hibernate中默认的CacheProvider
memcached服务默认占用的端口是11211,占用的最大内存默认是64M。
set value must serializable
package com.goldpalm.api.auth.core.util;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
/**
* @author Miku Liu
*/
public class MemcacheUtil {
private static MemCachedClient memCachedClient;
/**
* 通过key获取Cache中对象
* @param token
* @return
* @author Miku Liu
*/
public static Object getCacheObj(String token) {
/* 建立MemcachedClient实例 */
if(memCachedClient!=null){
return memCachedClient.get(token);
}else{
return null;
}
}
/**
* 把对象保存进cache
* @param token
* @param obj
* @author Miku Liu
*/
public static void setCacheObj(String token, Object obj, Date expiry) {
/* 初始化SockIOPool,管理memcached的连接池 */
String[] servers = {"127.0.0.1:11211"};
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(servers);
pool.setFailover(true);
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
pool.initialize();
/* 建立MemcachedClient实例 */
memCachedClient = new MemCachedClient();
memCachedClient.set(token, obj,expiry);
// System.out.println(flag+"###3");
}
}
适用场合(转载):
1. 分布式应用。由于memcached本身基于分布式的系统,所以尤其适合大型的分布式系统。
2. 数据库前段缓存。数据库常常是网站系统的瓶颈。数据库的大并发量访问,常常造成网站内存溢出。当然我们也可以使用Hibernate的缓存机制。但memcached是基于分布式的,并可独立于网站应用本身,所以更适合大型网站进行应用的拆分。
3. 服务器间数据共享。举例来讲,我们将网站的登录系统、查询系统拆分为两个应用,放在不同的服务器上,并进行集群,那这个时候用户登录后,登录信息如何从登录系统服务器同步到查询系统服务器呢?这时候,我们便可以使用memcached,登录系统将登录信息缓存起来,查询系统便可以获得登录信息,就像获取本地信息一样。