Memcache 丢失数据问题

    今天突然发现memcache里的数据部分会丢失,我是批量插入2000+个数据,程序在运行时插入的第一个数据有值,但是程序运行完毕,第一个数据就没值了,后经过检查发现,memcache分配的内存默认为64M,满了之后会自动删除部分未过期的数据,导致上述情况。后调整为2G,问题解决。特记下memcache中stats查看的数据含义:

php中查看代码:
<?php

    $host = $_REQUEST['host'];

    $mem = new Memcache;
    $mem->connect ( $host, 11211 ); 
    print_r ( $mem->getStats() ); 

?>
或者连上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 当前线程数

你可能感兴趣的:(user,服务器,cmd,存储,System,character)