您的位置:首页 > 数据库 > Memcache

windows下Memcached的安装与使用

2012-09-02 23:39 337 查看
一直说要总结一下这纠结的几天,但一直忙,明显这是借口。。好吧,就现在来吧。

一、需要文件(我整理的工具下载链接

1、Memcached主程序安装文件;

2、PHP扩展文件;

如果你从http://downloads.php.net/pierre/ 下载的话,5.3.x以上的版本(我的是5.3.8,其他的版本没试过)可用php_memcache-2.2.6-5.3-vc9-x86.zip,解压出来是81K。

5.2.x(wamp下的5.2.9-2)貌似两个都不能用,可以用的我放在这里了我整理的工具下载链接

ps:

TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源

NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查

详见php ts nts v6 v9的区别

二、操作步骤

1、将Memcached 1.2.5.zip解压缩到C:\memcached目录下(目录自行定义)。

2.Ctrl+R,输入cmd,打开命令行窗口,键入

C:\memcached\memcached.exe -d install

C:\memcached\memcached.exe -d start

如果你要卸载,执行下面的命令:

memcached.exe -d stop

memcached.exe -d uninstall

三、安装成功与测试

查看phpinfo();



有这个显示则为成功。

测试用例写个实用点的,“散弹枪编程”看到的例子都是很“例子”,没有看到缓存的作用。

<?php
$mem = new Memcache;
$mem -> connect('localhost', 11211);
$tt = $mem -> get('key');
if (!$tt) {
$tt = time();
$mem -> set('key', $tt, 0, 5);  //5秒钟之后显示新的时间
}
echo $tt;
?>


四、查看命中

1、memcache的运行状态可以方便的用stats命令显示。首先用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态。

PS:@win7,如果看到[提示错误:'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件。],解决方法是依次打开“开始”→“控制面板”→“打开或关闭Windows功能”,在打开的窗口处,寻找并勾选“Telnet客户端”,然后点击“确定”。顺利安装后,再在运行下输入此命令就OK了。windows7带有telnet,只是默认没有安装而已。

2、输入stats命令查看基本信息。stats这些状态的说明如下:

pid:memcache服务器的进程ID

uptime:服务器已经运行的秒数

time:服务器当前的unix时间戳

version:memcache版本

pointer_size:当前操作系统的指针大小(32位系统一般是32bit)

rusage_user:进程的累计用户时间

rusage_system:进程的累计系统时间

curr_items:服务器当前存储的items数量

total_items:从服务器启动以后存储的items总数量

bytes:当前服务器存储items占用的字节数

curr_connections:当前打开着的连接数

total_connections:从服务器启动以后曾经打开过的连接数

connection_structures:服务器分配的连接构造数

cmd_get:get命令(获取)总请求次数

cmd_set:set命令(保存)总请求次数

get_hits:总命中次数

get_misses:总未命中次数

evictions:为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)

bytes_read:总读取字节数(请求字节数)

bytes_written:总发送字节数(结果字节数)

limit_maxbytes:分配给memcache的内存大小(字节)

threads:当前线程数

@缓存命中率 = get_hits/cmd_get * 100%

@get_misses的数字加上get_hits应该等于cmd_get

@total_items == cmd_set == get_misses,当可用最大内存用光时,memcached就会删掉一些内容,等式就会不成立

memcached/scripts/memcached-tool

[root@localhost scripts]# ./memcached-tool localhost:11211

# Item_Size Max_age Pages Count Full? Evicted Evict_Time OOM

1 80B 1065s 1 1 no 0 0 0

memcache的运行状态可以 方便的用stats命令显示。

首先用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态。

这些状态的说 明如下:

pidmemcache服务器的进程IDuptime服 务器已经运行的秒数time服务器当前的unix时间戳versionmemcache 版本pointer_size当前操作系统的指针大小(32位系统一般是32bit)rusage_user进 程的累计用户时间rusage_system进程的累计系统时间curr_items服 务器当前存储的items数量total_items从服务器启动以后存储的items总数量bytes当 前服务器存储items占用的字节数curr_connections当前打开着的连接数total_connections从
服务器启动以后曾经打开过的连接数connection_structures服务器分配的连接 构造数cmd_getget命令(获取)总请求次数cmd_setset 命令(保存)总请求次数get_hits总命中次数get_misses总 未命中次数evictions为获取空闲内存而删除的items数(分配给memcache的空 间用满后需要删除旧的items来得到空间分配给新的items)bytes_read总读取字 节数(请求字节数)bytes_written总发送字节数(结果字节数)limit_maxbytes分
配给memcache的内存大小(字节)

threads当前线程数

结束进程

ps ef|grep mem*

kill -9 id

/usr/local/bin/memcached -d -m 512 -u www -l 192.168.200.13 -p 11211 -c 10000

参考链接:

beitmemcached - A memcached client in C# 2.0:http://code.google.com/p/beitmemcached/

memcache/memcached/memcachedb 配置、安装:/article/6158228.html

在window系统下安装memcache内在缓存的实例:/article/4895215.html

memcache 缓存命中率 查看:http://hi.baidu.com/mashuai9788/item/b9bbcddd0102f640dcf9beca
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: