特点:
1.分布式缓存,键值对存储,协议简单,建立在TCP协议上的memcache协议,
基于libevnent事件,内置的内存管理方式,memcached间互不通信,分布式靠客户端实现,-f 块大小增长因子
2.高效存储/查找,基于内存
3.分配的内存用完,使用LRU算法 least recently Used
4.支持cas操作
5.取模算法
6.一致性hash算法,添加或减少服务器,减少key的重新映射
原理:将Hash函数的值域空间组织成一个hash圆,服务器映射到圆上,整个圆按照顺时针方向组织
,然后使用相同的hash函数,计算出key的hash值并映射到圆上,按照顺时针方向,找到最近的服务器进行存储; 通过虚拟节点,避免服务器分部不均匀;
6.分布式session
Memcache的管理与性能监控:
可以通过命令行直接管理与监控也可通过nagios,cacti等web软件进行监控
命令行:
- Shell>telnet 127.0.0.1 1211 //如果在启动时指定了IP及端口号,这里要作相应改动
连接成功后命令 - Stats:统计memcached的各种信息
- Stats reset:重新统计数据
- Stats slabs,显示slabs信息,可以详细看到数据的分段存储情况
- Stats items:显示slab中的item数目
- Stats cachedump 1 0:列出slabs第一段里存的KEY值
- Set|get:保存或获取数据
- STAT evictions 0:表示要腾出新空间给新的item而移动的合法item数目
时间: 2024-10-16 22:46:23