Memcache简介及安装手册

本文详细介绍了Memcached的原理、实现机制、安装步骤及其在大型网站中的广泛应用。作为一款高性能的分布式内存对象缓存系统,Memcached通过在内存中存储数据来加速动态网页应用的性能,减轻数据库负担。文章不仅解释了其如何通过网络IO处理和分布式散列对象实现高效数据存储,还提供了在Windows环境下从下载到安装的完整指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是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/页面下载:
2 然后解压到D:\memcached
3 切换到memcached目录下面,然后输入memcached.exe -d install命令,即可安装完成
4 启动时,在命令行模式下输入: memcached.exe -d start ,至此安装及启动完成。
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值