memcached使用了高效的基于key的hash算法来设计存储数据结构,并且使用了内存分配器,使得数据查询单时间复杂度达到O(1),这意味着不论你存储多少数据项,查询任何数据项所花费的时间都不变。
数据项过期时间
一旦缓存区没有足够的空间存储新的数据项时, memcached便会想办法淘汰一些数据项来腾出空间,淘汰机制基于LRU(Least Recently Used)算法,将最近不经常访问的数据项淘汰掉。
网络并发模型
memcached可以运行咋独立的服务器上,动态内容通过TCP Socket来访问。memcached使用libevent函数库来实现网络并发模型,包括epoll,所以可以在高并发下放心使用memcached
对象序列化
memcached存储的数据必须是序化的,尽量使用json格式的数据,这样各种语言可以相互使用memcache的值
memcached 安装
如果没有libevent需要先安装
1、sudo wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
2、tar zxvf libevent-1.2.tar.gz
3、cd libevent-1.2
4、./configure –prefix=/usr //如果出错需安装gcc,执行sudo apt-get install gcc
5、 make //如果出错需安装make,执行sudo apt-get install make
6、 sudo make install
安装memcached
1、cd memcached
2、./configure
3、make
4、sudo make install