[原创]Windows下Memcache简介及安装手册
[原创]Windows下Memcache简介及安装手册什么是Memcache?
Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
Memcache官方网站http://memcached.org/。
使用libevent进行网络IO处理,libevent作为一种新的非阻塞网络IO方式以高效的方法(epoll/kqueue)组织IO,分布式散列对象到不同的服务器,查询复杂度是O(1)。
目前被广泛应用在facebook、wikipedia、和sourceforge等大型网站。
2.Memcahce的实现机制
memcache本身在分布式应用中,单个结点之间是Server相互独立,不会存在同级之间的通信。
客户端对多个server通过一个连接池进行连接,可以设置连接池当中每个Memcached的连接数权重,以根据服务器性能调整每台Memcached的连接数比例权重,实现近似的负载均衡。用户不必关心数据存放在哪个节点,由客户端统一算法进行分配。
memcache的Server结点对数据的存储操作都是在内存中完成,对内存分配和回收采用了曾在SunOS实现的分页机制,预分配一个大内存(默认是 <= 200M),然后分页切块:将1M的内存片(slab)根据需要截取成若干种不同大小的内存块(chunk)来进行使用,共有80、100、128、160、...1M这数十种大小不同的内存块(可以设置最小的块大小),默认按照125%递增(可以设置递增比例),对每个数据对象的存储便在所切的块中进行操作,没有涉及到任何磁盘IO操作,绝对不会使用到SWAP虚拟内存,其性能瓶颈都在网络通信部分,而memcache正是将这一部分抛给了一个中间层完成。可以说memcached是一个单进程、单线程、监听某个网络端口的daemon(或非daemon),是一个轻量级的应用服务进程
存放在内存的数据通过LRU算法进行淘汰出内存,同时可以通过删除和设置失效时间来淘汰存放在内存的数据。
3.Memcached的安装
在windows下安装过程,见如下所示:
1 下载软件,在http://jehiah.cz/projects/memcached-win32/页面下载:
memcached 1.2.1 for Win32 binaries (Dec 23, 2006)
2 然后解压到D:\memcached
3 切换到memcached目录下面,然后输入memcached.exe -d install命令,即可安装完成
4 启动时,在命令行模式下输入: memcached.exe -d start ,至此安装及启动完成。
页:
[1]