摘自:http://blog.developers.api.sina.com.cn
Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。
◎Memcached是什么
在阐述这个问题之前,我们首先要清楚它“不是什么”。很多人把它当作和SharedMemory那种形式的存储载体来使用,虽然memcached
使用了同样的“Key=>Value”方式组织数据,但是它和共享内存、APC等本地缓存有非常大的区别。Memcached是分布式的,也就是说
它不是本地的。它基于网络连接(当然它也可以使用localhost)方式完成服务,本身它是一个独立于应用的程序或守护进程(Daemon方式)。
Memcached使用libevent库实现网络连接服务,理论上可以处理无限多的连接,但是它和Apache不同,它更多的时候是面向稳定的持
续连接的,所以它实际的并发能力是有限制的。在保守情况下memcached的最大同时连接数为200,这和Linux线程能力有关系,这个数值是可以调
整的。关于libevent可以参考相关文档。
Memcached内存使用方式也和APC不同。APC是基于共享内存和MMAP的,memcachd有自己的内存分配算法和管理方式,它和共享内存没有
关系,也没有共享内存的限制,通常情况下,每个memcached进程可以管理2GB的内存空间,如果需要更多的空间,可以增加进程数。
◎Memcached适合什么场合
在很多时候,memcached都被滥用了,这当然少不了对它的抱怨。我经常在论坛上看见有人发贴,类似于“如何提高效率”,回复是“用memcached”,至于怎么用,用在哪里,用来干什么一句没有。memcached不是万能的,它也不是适用在所有场合。
Memcached是“分布式”的内存对象缓存系统,那么就是说,那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台
服务器的应用,memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源,即使是UNIX本地连接也一样。
在我之前的测试数据中显示,memcached本地读写速度要比直接PHP内存数组慢几十倍,而APC、共享内存方式都和直接数组差不多。可见,如果只是
本地级缓存,使用memcached是非常不划算的。
Memcached在很多时候都是作为数据库前端cache使用的。因为它比数据库少了很多SQL解析、磁盘操作等开销,而且它是
使用内存来管理数据的,所以它可以提供比直接读取数据库更好的性能,在大型系统中,访问同样的数据是很频繁的,memcached可以大大降低数据库压
力,使系统执行效率提升。
另外,memcached也经常作为服务器之间数据共享的存储媒介,例如在SSO系统中保存系统单点登陆状态的数据就可以保存在memcached中,被多个应用共享。
需要注意的是,memcached使用内存管理数据,所以它是易失的,当服务器重启,或者memcached进程中止,数据便会丢失,所以memcached不能用来持久保存数据。很
多人的错误理解,memcached的性能非常好,好到了内存和硬盘的对比程度,其实memcached使用内存并不会得到成百上千的读写速度提高,它的
实际瓶颈在于网络连接,它和使用磁盘的数据库系统相比,好处在于它本身非常“轻”,因为没有过多的开销和直接的读写方式,它可以轻松应付非常大的数据交换
量,所以经常会出现两条千兆网络带宽都满负荷了,memcached进程本身并不占用多少CPU资源的情况。
分享到:
相关推荐
没分了,下载不了。挣点分。 有三个文件,分别为: memcache简介、安装 and in cakephp。
1MemCache简介 2安装 3memcached的基本设置:
一、Memcache简介 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。...
memcache简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到...
2.1.1 memcache简介及安装 60 2.1.2 memcache API与分布式 64 2.1.3 分布式session 69 2.2 持久化存储 71 2.2.1 MySQL扩展 72 2.2.2 HBase 80 2.2.3 Redis 91 2.3 消息系统 95 2.3.1 ActiveMQ & ...
Linux下应用安装.docx memcached安装.txt nginx安装部署.txt ...Nginx_简介.doc nginx-0.7.66.tar.gz memcached-1.4.5.tar.gz libevent-1.4.14a-stable.tar.gz pcre-8.02.tar.gz cronolog-1.6.2.tar.gz
阿里云-云数据库Memcache-产品简介.pdf
阿里云 专有云企业版 V3.6.2 云数据库KVStore for Memcache 产品简介 - 20181228.pdf
阿里云 专有云企业版 V3.6.0 云数据库KVStore for Memcache 产品简介 - 20180824.pdf
阿里云 专有云企业版 V3.9.0 云数据库 Memcache 版 产品简介 20191017
阿里云 专有云企业版 V3.8.2 云数据库 Memcache 版 产品简介 20200416
阿里云 专有云企业版 V3.8.0 云数据库 Memcache 版 产品简介 20190621.pdf
阿里云 专有云Enterprise版 V3.5.0 云数据库Memcache版 产品简介 - 20180710
阿里云 专有云企业版 V3.5.2 云数据库Memcache版 产品简介 - 20180831.pdf
阿里云 专有云Enterprise版 云数据库 Memcache版 V3.1.0 产品简介 20171129.pdf
分享给大家供大家参考。具体如下: memcache 在什么情况下被使用,什么情况下不要使用?...现在假设你正在运营一个电子商务网站,你可以在 memcached 中缓存产品的简介、运送信息,或者其它一些需要复杂查询的
【一,简介】 因为新浪SAE环境和普通环境的不同,许多SAE提供的服务不能在本地运行。 往往我们写的代码不能在本地测试,每次必须上传到SAE上面进行测试。现在不用 这么麻烦,SaeServer在本地模拟SAE服务。让程序也...