发布于 2015-04-26 00:00:50 | 188 次阅读 | 评论: 0 | 来源: 网友投递
Memcache 高性能分布式内存对象缓存系统
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
memcached 1.4.23 发布,此版本现已提供下载:http://www.memcached.org/files/memcached-1.4.23.tar.gz。
此版本更新内容如下:
spinlocks removed since they never seem to improve performance.
flush_all was not thread safe.
better handle items refcounted in tail by unlinking them from the LRU's
重写了 memcached 的核心 LRU 算法:
global cache_lock is gone, LRU's are now independently locked.
LRU's are now split between HOT, WARM, and COLD LRU's. New items enter the HOT LRU.
LRU updates only happen as items reach the bottom of an LRU. If active in HOT, stay in HOT, if active in WARM, stay in WARM. If active in COLD, move to WARM.
HOT/WARM each capped at 32% of memory available for that slab class. COLD is uncapped.
Items flow from HOT/WARM into COLD.
A background thread exists which shuffles items between/within the LRU's as capacities are reached.
主要目标是保护“scanning”的 active items,其次是为了改进延迟。
更多改进内容请看发行说明。
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。
memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。
memcached 的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。 由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新 memcached内的资料。
memcached具有多种语言的客户端开发包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/
客户端包的下载地址是:http://code.google.com/p/memcached/wiki/Clients