特征
- 键长度最大为250字节
- memcached内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。 这种技术被称为lazy(惰性)expiration。因此,memcached不会在过期监视上耗费CPU时间。
- 基于libevent的事件处理
- Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块, 以完全解决内存碎片问题。
- Page:分配给Slab的内存空间,默认是1MB。分配给Slab之后根据slab的大小切分成chunk
- Chunk:用于缓存记录的内存空间
- Slab Class:特定大小的chunk的组
- memcached在启动时指定 Growth Factor因子(通过-f选项), 就可以在某种程度上控制slab之间的差异。默认值为1.25。 但是,在该选项出现之前,这个因子曾经固定为2,称为“powers of 2”策略
- 使用memcached的创造着Brad写的名为memcached-tool的Perl脚本,可以方便地获得slab的使用情况
监控
http://code.google.com/p/memcache-top/
http://docs.oracle.com/cd/E17952_01/refman-5.0-en/ha-memcached-stats-memcached-tool.html
使用方式
将memcache-tool和
memcache-top-v0.6两个文件随便放在linux(也可放在windows下,用git模仿linux调用)下,执行
memcache-top-v0.6
memcache-tool 127.0.0.1:11211 display
memcache-tool 127.0.0.1:11211 stats
即可。