Memcache是什么(摘自 http://blog.sina.com.cn/s/blog_4aea5d890100am61.html)
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解
为什么会有Memcache和memcached两种名称?
其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名,在网上看到了很多人不明白,于是混用了。
Memcache的安装
分为两个过程:memcache服务器端的安装和memcached客户端的安装。
所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储
所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错的api接口提供)去使用服务器端的Memcache提供的函数,需要php添加扩展。
memcache服务器端的安装(参考http://www.ccvita.com/258.html)
在http://www.splinedancer.com/memcached-win32/下载memcached 1.2.4 Win32 Beta Binaries安装包(如果要下载源码编译,官网上有详细的介绍),解压到d:/memcached。
在cmd命令行下输入d:/memcached/memcached.exe -h,查看memcached的启动参数
memcached的启动参数为:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
输入memcached -d start 即可启动memcached服务
memcached作为服务启动
在cmd命令行下输入“d:/memcachedmemcached.exe -d install”作为服务,再输入“d:/memcached/memcached.exe -d start”启动。以后memcached将作为windows的一个服务每次开机时自动启动。
memcache客户端的安装
客户端的版本很多,各种语言的都有,下面主要使用的是java客户端gwhalin
在https://github.com/gwhalin/Memcached-Java-Client下载gwhalin-Memcached-Java-Client-b22f90d.zip,解压到d:/memcached-client/java。
参照了http://blog.csdn.net/chfzhb/archive/2008/08/25/2828747.aspx的实例代码
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" };
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);
}
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)); // 十秒后过期
}
public static void output() {
// 从cache里取值
String value = (String) mcc.get("test");
System.out.println(value);
}
public static void main(String[] args) {
bulidCache();
output();
}
}
分享到:
相关推荐
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面,"注意这里一定要在超级管理员下执行,否则会出现问题")下输入 'c:\memcached\...
windwos下安装memcache步骤以及安装包
memcache windows版本下载安装 附件php_memcache.dll(php 5.2适用 其他版本不知道是否可以) 具体安装见附件的安装说明 memcache windows安装,memcache windows下载,memcache下载
windows下memcache安装包 附带php扩展包
1、PHP的Memcached扩展包含5.2.X和5.3.X可用的版本。 2、windows下安装程序(Memcached 1.2.5 win32 binary, compiled against libevent 1.4.4. No warranties)。
Windows_Memcache安装(XAMPP+Memcache+PHP) 安装步骤,详细说明
memcache for windows版本,memcache for windows版本
2.在终端(也即cmd命令界面)下输入'c:\memcached\memcached.exe -d install'安装 3.再输入:'c:\memcached\memcached.exe -d start'启动。NOTE:以后memcached将作为windows的一个服务每次开机时自动启动。这样...
该压缩包包含memcache-win安装包,安装说明文档,php5.2.17的扩展文件:php_memcache.dll
Windows下的Memcache安装
Windows Memcache 安装 dotnet 使用实例及动态库
Memcache是一款强大的NOSQL工具,使用简单,高效。这个版本是1.2.6,在windows服务器上可以使用,是稳定版。目前在我的个人博客已经使用。
windows下使用memcache方法 含软件 其中包含在PHP下使用方法
放在php的 ext 文件夹中,打开php.ini,查找关键字extension,可以看到很多的php扩展,然后在添加 extension=php_memcache.dll 这行代码,重启wamp服务器,扩展安装完成。 扩展了php5.3* X64位php_memcache.dll扩展 ...
windows下的memcache服务,在windows平台下搭建wamp或者php环境的时候,如果没有memcache服务,会报错找不到memcache()方法,下载并解压这个压缩包,将memcache.exe放到任意位置,然后使用管理员权限在命令行转到...
memcache windows版本 memcache windows版 memcache windows
08-windows下安装php-memcache.wmv
这个模块是平和php5.3的,在我的windowsxp php5.3.5上安装成功 里面有两个php库,一个php_memcache.dll.vc6 和一个php_memcache.dll.vc9 另外一个windows的memcache.exe文件,都是网上收集的,因为现在要找齐很不容易,...
windows 系统下 php memcache 扩展,包括 php7.0.x,php7.1.x,php7.2.x,php7.3.x
这个是windows平台使用的memcache,可以用于调试,实际生产环境就不要用了,换linux,具体可以查看我的文章: http://blog.csdn.net/cdnight/article/details/18924611