9.
假设安装目录为/usr/local
安装libevent
$ tar xzvf libevent-1.4.14b-stable.tar.gz
$ cd libevent-1.4.14b-stable
$ ./configure --prefix=/usr/local/libevent-1.4.14b-stable
$ make
$ make all
安装memcached
$ tar xzvf memcached-1.4.5.tar.gz
$ cd memcached-1.4.5
$ ./configure --with-libevent=/usr/local/libevent-1.4.14b-stable --prefix=/usr/local/memcached-1.4.5
$ make
$ make all
12. 存储命令set/add/replaceset liu 32 0 4
java
STORED//正确
get liu
VALUE abc 32 4
java
END
set liu 32 0 4
cplus
CLIENT_ERROR bad data chunk
ERROR//长度错误set liu 32 0 4
java
STORED
add liu 32 0 5
cplus
NOT_STORED
//已存在不能add
get liu
VALUE abc 32 4
java
END
add song 32 0 5
cplus
STORED
//不存在可以addset liu 32 0 4
java
STORED
replace liu 32 0 5
cplus
STORED
//已存在可以replace
get liu
VALUE cplus 32 5
liu
END
replace yang 32 0 5
cplus
NOT_STORED
//不存在不能replacedatablock长度必须正确add只能添加不存在的keyreplace只能替换已有的key
14. 读取命令get/gets格式:
*\r\n
VALUE []\r\n
\r\n
…
VALUE []\r\n
\r\n
END\r\n
command: get普通查询,gets用于查询带版本的值
get liu song yang
VALUE liu 32 4
java
VALUE song 32 5
cplus
END
//查询多个键值gets liu
VALUE liu 32 4 12
java
END
//取得版本号
replace liu 32 0 4
java
STORED
//增加版本号
get liu
VALUE liu 32 4
java
END
gets liu
VALUE liu 32 4 13
java
END版本号+1
17. 统计命令stats格式:
stats []\r\n
STAT \r\n
END\r\n
stats
STAT pid 23178
STAT uptime 1039318
STAT time 1292036037
STAT version 1.4.2
STAT pointer_size 64
STAT rusage_user 1011.574217
STAT rusage_system 1677.713948
STAT curr_connections 114
STAT total_connections 73801
STAT connection_structures 149
STAT cmd_get 79114939
STAT cmd_set 27302514
STAT cmd_flush 0
STAT get_hits 79114939
STAT get_misses 24322507
STAT delete_misses 133928
STAT delete_hits 402569
STAT incr_misses 0
STAT incr_hits 0STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 59348603658
STAT bytes_written 425549797158
STAT limit_maxbytes 4294967296
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT bytes 3832761746
STAT curr_items 2854731
STAT total_items 27302514
STAT evictions 18456987
STAT reclaimed 0
END
19. stats slabs区块统计stats slabs
STAT 1:chunk_size 96
STAT 1:chunks_per_page 10922
...
STAT 40:chunk_size 1048576
STAT 40:chunks_per_page 1
STAT 40:total_pages 15
STAT 40:total_chunks 15
STAT 40:used_chunks 14
STAT 40:free_chunks 1
STAT 40:free_chunks_end 0
STAT 40:mem_requested 9348752
STAT 40:get_hits 9593
STAT 40:cmd_set 4828
STAT 40:delete_hits 40
STAT 40:incr_hits 0
STAT 40:decr_hits 0
STAT 40:cas_hits 0
STAT 40:cas_badval 0
STAT active_slabs 40
STAT total_malloced 4294496616
END名称描述chunk_sizechunk大小,bytechunks_per_page每个page的chunk数量total_pagespage数量total_chunkschunk数量*page数量get_hitsget命中数cmd_setset数delete_hitsdelete命中数incr_hitsincr命中数decr_hitsdecr命中数cas_hitscas命中数cas_badvalcas数据类型错误数used_chunks已被分配的chunk数free_chunks剩余chunk数free_chunks_end分完page浪费chunk数mem_requested请求存储的字节数active_slabsslab数量total_malloced总内存数量被浪费内存数=(total_chunks * chunk_size) - mem_requested
如果太大,需要调整factor