一、什么是memcache
memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等
三、memcached命令的常用启动参数如下:
# /root/local/bin/memcached -d -m 200 -u root -l 192.168.1.91 -p 9023 -c 256 -P /tmp/memcached.pid
相关解释如下:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB
-u是运行Memcache的用户,如果当前为 root 的话,需要使用此参数指定用户。
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.91
-p是设置Memcache监听的端口,我这里设置了9023,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
停止Memcache进程:kill `cat /tmp/memcached.pid` ,我们也可以启动多个守护进程,但是端口不能重复。
注:如果使用chkconfig命令将其加入系统服务,则修改 /etc/sysconfig/memcached 中的参数
四、查看memcache状态
php中查看代码:
1 <?php
2
3 $host = $_REQUEST['host'];
4
5 $mem = new Memcache;
6 $mem->connect ( $host, 11211 );
7 print_r ( $mem->getStats() );
8
9 ?>
或者连上memcache,然后stats,详细如下:
mqq@32_167_game:~> telnet server port
Trying 172.16.32.166...
Connected to 172.16.32.166.
Escape character is '^]'.
stats
STAT pid 26530
STAT uptime 5807
STAT time 1258643806
STAT version 1.2.2
STAT pointer_size 64
STAT rusage_user 12.372773
STAT rusage_system 24.233514
STAT curr_items 72820
STAT total_items 5526
STAT bytes 95306264
STAT curr_connections 115
STAT total_connections 1
STAT connection_structures 116
STAT cmd_get 12507
STAT cmd_set 5526
STAT get_hits 12498
STAT get_misses 9
STAT evictions 0
STAT bytes_read 7363968
STAT bytes_written 15636889
STAT limit_maxbytes 2147483648
STAT threads 1
END
pid
memcache服务器的进程ID
uptime
服务器已经运行的秒数
time
服务器当前的unix时间戳
version
memcache版本
pointer_size
当前OS的指针大小(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
当前线程数